Third party Settlement feeds

Third party applications can send accumulator updates at the batch (ICL) or entry level for both inbound and outbound work. The applications send a Messaging API message to the Settlement queue. If the application needs to add to one accumulator and subtract from a different accumulator, it can be done in a single message if the message contains multiple instances of the same message type.

A third party message sent to Settlement contains the following fields:
  • Bank Id
  • Business day Id
  • Application name
  • Entry type
  • Entry Batch / ICL Id
  • Accumulator Id
  • Inbound outbound indicator
  • Adjustment item count (positive or negative) (nonIpd only)
  • Adjustment item amount (positive or negative) (nonIpd only)
  • Debit item count (positive or negative) (nonFtm only)
  • Debit item amount (positive or negative) (nonFtm only)
  • Credit item count (positive or negative) (nonFtm only)
  • Credit item amount (positive or negative) (nonFtm only)
The message is inserted into the IZR_ACCUM_APPLICATION table, not the IZR_ACCUM_DATA table.

Sample XML schema for the messages sent to Settlement by a third party

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <xsd:element name="ThirdPartyFeed">
      <xsd:complexType>
         <xsd:choice>
            <xsd:element ref="NonIpd" maxOccurs="unbounded"/>
            <xsd:element ref="NonFtm" maxOccurs="unbounded"/>
         </xsd:choice>
      </xsd:complexType>
   </xsd:element>
   
   <xsd:element name="NonIpd">
      <xsd:complexType>
         <xsd:sequence>
            <xsd:element ref="BANK_ID"/>
            <xsd:element ref="BDAY_ID"/>
            <xsd:element ref="ACCUM_ID"/>
            <xsd:element ref="APPLICATION_NAME"/>
            <xsd:element ref="ENTRY_TYPE"/>
            <xsd:element ref="ENTRY_DEPOSIT_ID"/>
            <xsd:element ref="IN_OUT_IND"/>
            <xsd:element ref="ITEM_COUNT"/>
            <xsd:element ref="TOTAL_AMT"/>
         </xsd:sequence>
         <xsd:attribute ref="version" use="optional" fixed="1.00.00"/>
      </xsd:complexType>
   </xsd:element>
   
   <xsd:element name="NonFtm">
      <xsd:complexType>
         <xsd:sequence>
            <xsd:element ref="BANK_ID"/>
            <xsd:element ref="BDAY_ID"/>
            <xsd:element ref="ACCUM_ID"/>
            <xsd:element ref="APPLICATION_NAME"/>
            <xsd:element ref="ENTRY_TYPE"/>
            <xsd:element ref="ENTRY_DEPOSIT_ID"/>
            <xsd:element ref="IN_OUT_IND"/>
            <xsd:element ref="DEBIT_COUNT"/>
            <xsd:element ref="DEBIT_AMOUNT"/>
            <xsd:element ref="CREDIT_COUNT"/>
            <xsd:element ref="CREDIT_AMOUNT"/>
         </xsd:sequence>
         <xsd:attribute ref="version" use="optional" fixed="2.00.00"/>
      </xsd:complexType>
   </xsd:element>
  
   <xsd:attribute name="version">
      <xsd:simpleType>
         <xsd:restriction base="xsd:string">
            <xsd:pattern value="([0-9])\.[0-9]{2}\.[0-9]{2}"/>
            <xsd:enumeration value="1.00.00"/>
            <xsd:enumeration value="1.01.00"/>
            <xsd:enumeration value="2.00.00"/>
         </xsd:restriction>
      </xsd:simpleType>
   </xsd:attribute>

   <xsd:element name="ENTRY_TYPE">
      <xsd:simpleType>
         <xsd:restriction base="xsd:string">
            <xsd:enumeration value="D"/>
            <xsd:enumeration value="E"/>
            <xsd:enumeration value="U"/>
         </xsd:restriction>
      </xsd:simpleType>
   </xsd:element>
   <xsd:element name="ENTRY_DEPOSIT_ID">
      <xsd:simpleType>
         <xsd:restriction base="xsd:integer">
            <xsd:totalDigits value="8"></xsd:totalDigits>
         </xsd:restriction>
      </xsd:simpleType>
   </xsd:element>
   <xsd:element name="IN_OUT_IND">
      <xsd:simpleType>
         <xsd:restriction base="xsd:string">
            <xsd:enumeration value="I"/>
            <xsd:enumeration value="O"/>
         </xsd:restriction>
      </xsd:simpleType>
   </xsd:element>
   
   <xsd:element name="ITEM_COUNT">
      <xsd:simpleType>
         <xsd:restriction base="xsd:integer">
            <xsd:totalDigits value="4"></xsd:totalDigits>
         </xsd:restriction>
      </xsd:simpleType>
   </xsd:element>
   <xsd:element name="TOTAL_AMT">
      <xsd:simpleType>
         <xsd:restriction base="xsd:decimal">
            <xsd:totalDigits value="16"></xsd:totalDigits>
            <xsd:fractionDigits value="2"></xsd:fractionDigits>
         </xsd:restriction>
      </xsd:simpleType>
   </xsd:element>
   <xsd:element name="ACCUM_ID" nillable="false">
      <xsd:simpleType>
         <xsd:restriction base="xsd:string">
            <xsd:minLength value="1"></xsd:minLength>
            <xsd:maxLength value="20"></xsd:maxLength>
         </xsd:restriction>
      </xsd:simpleType>
   </xsd:element>
   <xsd:element name="APPLICATION_NAME" nillable="false">
      <xsd:simpleType>
         <xsd:restriction base="xsd:string">
            <xsd:minLength value="1"></xsd:minLength>
            <xsd:maxLength value="20"></xsd:maxLength>
         </xsd:restriction>
      </xsd:simpleType>
   </xsd:element>
   <xsd:element name="BANK_ID" nillable="false">
      <xsd:simpleType>
         <xsd:restriction base="xsd:integer">
            <xsd:totalDigits value="4"></xsd:totalDigits>
         </xsd:restriction>
      </xsd:simpleType>
   </xsd:element>
   <xsd:element name="BDAY_ID" nillable="false">
      <xsd:simpleType>
         <xsd:restriction base="xsd:integer">
            <xsd:totalDigits value="8"></xsd:totalDigits>
         </xsd:restriction>
      </xsd:simpleType>
    </xsd:element>
   
   <xsd:element name="DEBIT_COUNT">
      <xsd:simpleType>
         <xsd:restriction base="xsd:integer">
            <xsd:totalDigits value="4"></xsd:totalDigits>
         </xsd:restriction>
      </xsd:simpleType>
   </xsd:element>
   <xsd:element name="DEBIT_AMOUNT">
      <xsd:simpleType>
         <xsd:restriction base="xsd:decimal">
            <xsd:totalDigits value="16"></xsd:totalDigits>
            <xsd:fractionDigits value="2"></xsd:fractionDigits>
         </xsd:restriction>
      </xsd:simpleType>
   </xsd:element>
  
   <xsd:element name="CREDIT_COUNT">
      <xsd:simpleType>
         <xsd:restriction base="xsd:integer">
            <xsd:totalDigits value="4"></xsd:totalDigits>
         </xsd:restriction>
      </xsd:simpleType>
   </xsd:element>
   <xsd:element name="CREDIT_AMOUNT">
      <xsd:simpleType>
         <xsd:restriction base="xsd:decimal">
            <xsd:totalDigits value="16"></xsd:totalDigits>
            <xsd:fractionDigits value="2"></xsd:fractionDigits>
         </xsd:restriction>
      </xsd:simpleType>
   </xsd:element>
  
</xsd:schema>

Sample payloads for the XML messages sent to Settlement by a third party

This sample nonIpd payload is generated from the schema for the XML message.
<NonIpd xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="ThirdPartyFeed.xsd">
   <BANK_ID>6</BANK_ID>
   <BDAY_ID>123</BDAY_ID>
   <ACCUM_ID>OffsettingDB</ACCUM_ID>
   <APPLICATION_NAME>TransitSends</APPLICATION_NAME>
   <ENTRY_TYPE>D</ENTRY_TYPE>
   <ENTRY_DEPOSIT_ID>15</ENTRY_DEPOSIT_ID>
   <IN_OUT_IND>0</IN_OUT_IND>
   <ITEM_COUNT>7</ITEM_COUNT>
   <TOTAL_AMT>12345</TOTAL_AMT>
</NonIpd>
This sample nonFtm payload is generated from the schema for the XML message.
<NonFtm xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="ThirdPartyFeed.xsd">
   <BANK_ID>1</BANK_ID>
   <BDAY_ID>12</BDAY_ID>
   <ACCUM_ID>DefaultDB</ACCUM_ID>
   <APPLICATION_NAME>APPLICATION </APPLICATION_NAME>
   <ENTRY_TYPE>U</ENTRY_TYPE>
   <ENTRY_DEPOSIT_ID>1015</ENTRY_DEPOSIT_ID>
   <IN_OUT_IND>I</IN_OUT_IND>
   <DEBIT_COUNT>2</DEBIT_COUNT>
   <DEBIT_AMOUNT>100</DEBIT_AMOUNT>
   <CREDIT_COUNT>3</CREDIT_COUNT>
   <CREDIT_AMOUNT>100</CREDIT_AMOUNT>
</NonFtm>

Sample XML messages sent to Settlement by a third party

This example includes the message header with its message description and message type elements.
<?xml version="1.0" encoding="UTF-8"?>
<ibmPaymentsDirectorBridge>
   <header>
      <msgDesc>Service_Request</msgDesc>
      <msgType>nonIPD</msgType>
      <version>1.0.0</version>
      <messageTime>2016-03-17T18:02: 28.509-05:00</messageTime>
      <sourceId>IBM Third Party App</sourceId>
      <destinationId>Settlement</destinationId>
      <unitOfWork type="PRESENTMENT_ID" track="true">6530</unitOfWork>
      <responseRequired>false</responseRequired>
   </header>
   <payload>
      <NonIpd xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:noNamespaceSchemaLocation="ThirdPartyFeed.xsd">
         <BANK_ID>1</BANK_ID>
         <BDAY_ID>131</BDAY_ID>
         <ACCUM_ID>OffsettingDB</ACCUM_ID>
         <APPLICATION_NAME>TransitSends</APPLICATION_NAME>
         <ENTRY_TYPE>D</ENTRY_TYPE>
         <ENTRY_DEPOSIT_ID>6530</ENTRY_DEPOSIT_ID>
         <IN_OUT_IND>I</IN_OUT_IND>
         <ITEM_COUNT>1</ITEM_COUNT>
         <TOTAL_AMT>12000</TOTAL_AMT>
      </NonIpd>
   </payload>
</ibmPaymentsDirectorBridge>
This example shows how multiple nonIpd and nonFtm instances can be fed into Settlement at the same time. Only one type of payload (nonIpd or nonFtm) can be fed in a single message. If any instance in the message contains errors, the entire message is rejected.
<?xml version="1.0" encoding="UTF-8"?>
<ibmPaymentsDirectorBridge>
   <header>
      <msgDesc>Service_Request</msgDesc>
      <msgType>nonIPD</msgType>
      <version>1.0.0</version>
      <messageTime>2016-03-17T18:02: 28.509-05:00</messageTime>
      <sourceId>IBM Third Party App</sourceId>
      <destinationId>Settlement</destinationId>
      <unitOfWork type="PRESENTMENT_ID" track="true">6530</unitOfWork>
      <responseRequired>false</responseRequired>
   </header>
   <payload>
      <NonFtm xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="ThirdPartyFeed.xsd">
         <BANK_ID>1</BANK_ID>
         <BDAY_ID>12</BDAY_ID>
         <ACCUM_ID>DefaultDB</ACCUM_ID>
         <APPLICATION_NAME>APPLICATION </APPLICATION_NAME>
         <ENTRY_TYPE>U</ENTRY_TYPE>
         <ENTRY_DEPOSIT_ID>1015</ENTRY_DEPOSIT_ID>
         <IN_OUT_IND>I</IN_OUT_IND>
         <DEBIT_COUNT>2</DEBIT_COUNT>
         <DEBIT_AMOUNT>100</DEBIT_AMOUNT>
         <CREDIT_COUNT>3</CREDIT_COUNT>
         <CREDIT_AMOUNT>100</CREDIT_AMOUNT>
      </NonFtm>
      <NonFtm xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="ThirdPartyFeed.xsd">
         <BANK_ID>1</BANK_ID>
         <BDAY_ID>12</BDAY_ID>
         <ACCUM_ID>DefaultDB</ACCUM_ID>
         <APPLICATION_NAME>APPLICATION </APPLICATION_NAME>
         <ENTRY_TYPE>U</ENTRY_TYPE>
         <ENTRY_DEPOSIT_ID>1015</ENTRY_DEPOSIT_ID>
         <IN_OUT_IND>I</IN_OUT_IND>
         <DEBIT_COUNT>2</DEBIT_COUNT>
         <DEBIT_AMOUNT>100</DEBIT_AMOUNT>
         <CREDIT_COUNT>3</CREDIT_COUNT>
         <CREDIT_AMOUNT>100</CREDIT_AMOUNT>
      </NonFtm>
   </payload>
</ibmPaymentsDirectorBridge>