6.7 Consumer Services - FCI Messages

This topic describes about the consumer services required for FCI Messages Implementation.

The below endpoints must be configured under Consumer Services in Oracle Banking Routing Hub:
  1. MSG09
  2. MSG12
  3. MSG14
  4. FCIMSGSEND
  5. FCIMSGRETRV

Figure 6-7 Consumer Services - FCI Messages



MSG09

This API enables the user to create FCI Message 09 post assignment of invoice..

SERVICE-CONSUMER = “OBSCF_FCI_MESSAGES”

SERVICE-CONSUMER-SERVICE= “MSG09”

Request
{branchCode=004, fciMessage9DTO=FCIMessage9DTO [sellerNumber=000381, sellerName=Danone, buyerNumber=000380, buyerName=Carrefour, exportFactorCode=, exportFactorName=, importFactorCode=, importFactorName=, invoiceBatchNr=004030223INV703, invoiceBatchDate=Mon May 30 00:00:00 GMT 2022, invoiceBatchCcy=USD, totalAmountInvoices=100000, totalAmountCreditNotes=0, docType=0, totalNumberOfInvoices=1, totalNumberOfCreditNotes=0, invoiceDetailsList=[FCIMessage9InvoiceDetailsDTO [docNumber=INVMON0201, docDate=Mon May 30 00:00:00 GMT 2022, docAmount=100000, docDueDate=Tue Aug 09 00:00:00 GMT 2022, docValueDate=null, netPmtTerms=null, discount1Days=0, discount2Days=0, discount1Perc=0, discount2Perc=0, pmtCondition=0, orderRefNo=, invoiceRefNo=INVMON0201, messageText=]]]}
Response:
{requestXmlMessage=<?xml version='1.0' encoding='iso-8859-9'?> <Envelope> <Header> <Date></Date> </Header> <Body> <MSG09 xmlns="urn:schemas-edifactoring-com:MSG09"> <MsgInfo> <SenderCode></SenderCode> <ReceiverCode></ReceiverCode> <CreatedBy>devtest</CreatedBy> <SequenceNr></SequenceNr> <DateTime></DateTime> <Status></Status> <Error></Error> </MsgInfo> <EF> <FactorCode></FactorCode> <FactorName></FactorName> </EF> <IF> <FactorCode></FactorCode> <FactorName></FactorName> </IF> <InvBatchNr>004030223INV703</InvBatchNr> <InvBatchDate>1653868800000</InvBatchDate> <InvBatchCurrency>USD</InvBatchCurrency> <TotAmtInvoices>100000</TotAmtInvoices> <TotAmtCreditNotes>0</TotAmtCreditNotes> <Seller> <SellerNr>000381</SellerNr> <SellerName>Danone</SellerName> </Seller> <InvCreditNoteDetails> <BuyerNr>000380</BuyerNr> <BuyerName>Carrefour</BuyerName> <DocType>0</DocType> <DocNr>INVMON0201</DocNr> <DocDate>1653868800000</DocDate> <DocAmt>100000</DocAmt> <DocDueDate>1660003200000</DocDueDate> <DocValueDate></DocValueDate> <NetPmtTerms></NetPmtTerms> <Discount1Days>0</Discount1Days> <Discount1Perc>0</Discount1Perc> <Discount2Days>0</Discount2Days> <Discount2Perc>0</Discount2Perc> <PmtCondition>0</PmtCondition> <OrderNrRef></OrderNrRef> <InvRefNr>INVMON0201</InvRefNr> </InvCreditNoteDetails> <ControlTot> <TotNrInvoices>1</TotNrInvoices> <TotNrCreditNotes>0</TotNrCreditNotes> </ControlTot> <MsgText></MsgText> </MSG09> </Body> </Envelope>, messageType=MSG09}

MSG12

This API enables the user to create a FCI Message 12 post receiving an indirect payment.

SERVICE-CONSUMER = “OBSCF_FCI_MESSAGES”

SERVICE-CONSUMER-SERVICE= “MSG12”

Request
{branchCode=004,
        fciMessage12DTO=FCIMessage12DTO[sellerNumber=202298, sellerName=FERRARI,
        exportFactorCode=CN88022, exportFactorName=, importFactorCode=TW99011, importFactorName=,
        pmtBatchNr=PAYQATESTI3_1, pmtBatchDate=, pmtBatchCurrency=,
        paymentDetailsList=[FCIMessage12PaymentDetailsDTO[buyerNumber=000381buyerName=Danone,
        docPaid=1, invCreditNoteNr=TESTI3, invCreditNoteDate=2022-09-26, invCreditNoteAmt=10000,
        pmtAmt=2900, bankChargeAmt=10, deducAmt=5, pmtType=1, pmtDate=2022-09-26,
        pmtValueDate=2022-09-26]],
        controlDetailsList=[FCIMessage12ControlTotalDetailsDTO[totAmtPaid=2900totAmtBankChargeDeduc=15,
        totAmtCleared=2915]], messageText=remarks]}
Response:
{requestXmlMessage=<?xml version='1.0'
        encoding='iso-8859-9'?> <Envelope> <Header> </Header> <Body> <MSG12
        xmlns="urn:schemas-edifactoring-com:MSG12"> <MsgInfo> <SenderCode/> <ReceiverCode/> <CreatedBy/>
        </MsgInfo> <EF> <FactorCode>CN88022</FactorCode> </EF> <IF> <FactorCode>TW99011</FactorCode> </IF>
        <MsgDate>2023-11-22 12:13:57</MsgDate> <PmtBatchNr>PAYQATESTI3_1</PmtBatchNr>
        <PmtBatchDate></PmtBatchDate> <PmtBatchCurrency></PmtBatchCurrency> <Seller>
        <SellerNr>202298</SellerNr> <SellerName>FERRARI</SellerName> </Seller> <Buyer> <BuyerNr>000381</BuyerNr>
        <BuyerName>Danone</BuyerName> </Buyer> <PmtDetails> <DocPaid>1</DocPaid>
        <InvCreditNoteNr>TESTI3</InvCreditNoteNr> <InvCreditNoteDate>2022-09-26</InvCreditNoteDate>
        <InvCreditNoteAmt>10000</InvCreditNoteAmt> <PmtAmt>2900</PmtAmt> <BankChargeAmt>10</BankChargeAmt>
        <DeducAmt>5</DeducAmt> <PmtType>1</PmtType> <PmtValueDate>2022-09-26</PmtValueDate> </PmtDetails>
        <ControlTot> <TotAmtPaid>2900</TotAmtPaid> <TotAmtBankChargeDeduc>15</TotAmtBankChargeDeduc>
        <TotAmtCleared>2915</TotAmtCleared> <MessageText>remarks</MessageText> </ControlTot> </MSG12> </Body>
        </Envelope>, messageType=MSG12}

MSG14

This API enables the user to create a FCI Message 14 post raising a dispute.

SERVICE-CONSUMER = “OBSCF_FCI_MESSAGES”

SERVICE-CONSUMER-SERVICE= “MSG14”

Request
{branchCode=004,
        fciMessage14DTO=FCIMessage14DTO[sellerNumber=202298, sellerName=FERRARI, buyerNumber=000381,
        buyerName=Danone, exportFactorCode=CN88022, exportFactorName=, importFactorCode=TW99011,
        importFactorName=, disputeBatchNr=INV8887, disputeBatchDate=2022-09-26, disputeBatchCcy=USD,
        totalAmountInvoices=10000, totalAmountCreditNotes=0, docType=1, totalNumberOfInvoices=1,
        totalNumberOfCreditNotes=0,
        disputeDetailsList=[FCIMessage14DisputeDetailsDTO[disputeNumber=004221123INV8143docNumber=TESTI6,
        docDate=2022-09-26, docAmount=10000, disputeReason=12, disputeReasonText=Raise dispute,
        notifyingParty=000381, disputeAction=3, disputedAmount=100]]]}
Response:
{requestXmlMessage=<?xml version='1.0'
        encoding='iso-8859-9'?> <Envelope> <Header> </Header> <Body> <MSG14> <MsgInfo> <SenderCode></SenderCode>
        <ReceiverCode></ReceiverCode> <CreatedBy></CreatedBy> </MsgInfo> <EF>
        <FactorCode>CN88022</FactorCode> <FactorName></FactorName> </EF> <IF> <FactorCode>TW99011</FactorCode>
        <FactorName></FactorName> </IF> <InvBatchNr>INV8887</InvBatchNr>
        <InvBatchDate>2022-09-26</InvBatchDate> <InvBatchCurrency>USD</InvBatchCurrency>
        <TotAmtInvoices>10000</TotAmtInvoices> <TotAmtCreditNotes>0</TotAmtCreditNotes> <Seller>
        <SellerNr>202298</SellerNr> <SellerName>FERRARI</SellerName> </Seller> <Buyer> <BuyerNr>000381</BuyerNr>
        <BuyerName>Danone</BuyerName> </Buyer> <DocType>1</DocType> <DisputeDetails> <DocNr>TESTI6</DocNr>
        <DocDate>2022-09-26</DocDate> <DocAmt>10000</DocAmt> <DisputeAmt>100</DisputeAmt>
        <DisputeNumber>004221123INV8143</DisputeNumber> <DisputeReason>12</DisputeReason>
        <NotifyingParty>000381</NotifyingParty> <DisputeReasonText>Raise dispute</DisputeReasonText>
        <Action>3</Action> </DisputeDetails> </MSG14> </Body> </Envelope>,
      messageType=MSG14}

FCIMSGSEND

This API enables the user to send messages to FCI.

SERVICE-CONSUMER = “OBSCF_FCI_MESSAGES”

SERVICE-CONSUMER-SERVICE= “FCIMSGSEND”

Request:

{
"serviceConsumerServiceName": "FCIMSGSEND",
"body": "XML FCI message",
<Body> xml message </body>						
"serviceConsumerName": "OBSCF_FCI_MESSAGES"
}

Sample XML Message MSG09
{
    "serviceConsumerServiceName": "FCIMSGSEND",
    "body": "<?xml version='1.0' encoding='iso-8859-9'?><Envelope>    
<Header>    </Header>
<Body><MSG09><MsgInfo><SenderCode>CN88022</SenderCode><ReceiverCode>TW99011</ReceiverCode><CreatedBy>devtest</CreatedBy></MsgInfo><EF><FactorCode>CN88022</FactorCode>
<FactorName></FactorName></EF><IF><FactorCode>TW99011</FactorCode><FactorName></FactorName></IF><InvBatchNr>INV16928</InvBatchNr><InvBatchDate>2022-11-02</InvBatchDate>
<InvBatchCurrency>USD</InvBatchCurrency><TotAmtInvoices>8000</TotAmtInvoices>
<TotAmtCreditNotes>0</TotAmtCreditNotes><Seller><SellerNr>202298</SellerNr>
<SellerName>FERRARI</SellerName></Seller><InvCreditNoteDetails><BuyerNr>000381</BuyerNr><BuyerName>Bank</BuyerName><DocType>1</DocType><DocNr>INV-Out-MSG09-009</DocNr>
<DocDate>2022-11-02</DocDate><DocAmt>8000</DocAmt><DocDueDate>2022-12-02</DocDueDate><Discount1Days>0</Discount1Days><Discount1Perc>0</Discount1Perc>
<Discount2Days>0</Discount2Days><Discount2Perc>0</Discount2Perc><InvRefNr>INV-Out-MSG09-009</InvRefNr></InvCreditNoteDetails><ControlTot><TotNrInvoices>1</TotNrInvoices>
<TotNrCreditNotes>0</TotNrCreditNotes></ControlTot><MsgText>Remarks</MsgText></MSG09>
</Body></Envelope>",
    "serviceConsumerName": "OBSCF_FCI_MESSAGES"
}

Response:

{messageType=FCI_MSG_SEND, fciResponse={Errors={Messages=1, Count=0}}}

FCIMSGRETRV

This API enables the user to retrieve the FCI message and process them.

SERVICE-CONSUMER = “OBSCF_FCI_MESSAGES”

SERVICE-CONSUMER-SERVICE= “FCIMSGRETRV”

Request:
{
 "serviceConsumerServiceName": "FCIMSGRETRV",
    "body": {},
    "serviceConsumerName": "OBSCF_FCI_MESSAGES"
}
Response:
{
"headers": {}, "body": {
"data": "FCI XML MESSAGE",
"messages": {
"keyId": null, "status": "SUCCESS",
"codes": [], "requestId": null, "httpStatusCode": "OK",
"overrideAuthLevelsReqd": null}
}
}

Sample XML Message MSG14
    "headers": {},
    "body": {
        "data": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Envelope>\n    <Header>\n        <MsgDate>2022-11-02T17:20:57</MsgDate>\n    </Header>\n    <Body>\n<MSG14>\n<MsgInfo>\n<SenderCode>CN88022</SenderCode>\n<ReceiverCode>TW99011</ReceiverCode>\n<CreatedBy>FactorCenter</CreatedBy>\n</MsgInfo>\n<EF><FactorCode>TW99011</FactorCode></EF>\n<IF><FactorCode>CN88022</FactorCode></IF>\n<MsgDate>2022-11-02</MsgDate>\n<DisputeNr>441015</DisputeNr>\n<DateOriginDispute>2022-11-02</DateOriginDispute>\n<DisputeCurrency>USD</DisputeCurrency>\n<Seller><SellerNr>202299</SellerNr><SellerName></SellerName></Seller>\n<Buyer><BuyerNr>202298</BuyerNr><BuyerName></BuyerName></Buyer>\n<DisputeDetails>\n<DocType>1</DocType>\n<DocNr>InvoiceRefNoMSG14Inward</DocNr>\n<DocDate>2022-11-02</DocDate>\n<DocAmt>990.00</DocAmt>\n<DisputeAmt>800.00</DisputeAmt>\n<DisputeReason>10</DisputeReason>\n<NotifyingParty>BY04620</NotifyingParty>\n<Action>1</Action>\n</DisputeDetails><DisputeReasonText>\n</DisputeReasonText>\n<ActionText></ActionText>\n</MSG14>\n    </Body>\n</Envelope>",
        "messages": {
            "keyId": null,
            "status": "SUCCESS",
            "codes": [],
            "requestId": null,
            "httpStatusCode": "OK",
            "overrideAuthLevelsReqd": null
        }
    }
}