Proposal summary
This proposal describes the HSBC US Wire EFT Template creation with NetSuite. The Payment file templates are used to generate EFT in different formats.
Requirement
QIMA would like to create 3 EFT File Formats for HSBC US Wire templates in XML format in NetSuite.
Our Solution
The requirement can be achieved by creating Three EFT template using the XML format for all currencies based on the client’s requirement. Also need to create company bank details and entity bank details for the new Payment file templates. Then that templates needs to be tested by creating the vendor bills for the test vendor and need to do the bill processing for verification.
Field Mapping
XMLv3_USD-Wire-to-Account-Number
<?xml version=”1.0″ encoding=”utf-8″?>
<Document xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns=”urn:iso:std:iso:20022:tech:xsd:pain.001.001.03″>
<CstmrCdtTrfInitn>
<GrpHdr>
<MsgId> Payment file administration. ID</MsgId>
<CreDtTm> Payment file administration. TIMESTAMP </CreDtTm>
<Authstn>
<Cd>Static value: “AUTH”</Cd>
</Authstn>
<NbOfTxs> Total number of payments </NbOfTxs>
<InitgPty>
<Id>
<OrgId>
<Othr>
<Id> Company Bank details. Company ABC id</Id>
</Othr>
</OrgId>
</Id>
</InitgPty>
</GrpHdr>
<PmtInf>
<PmtInfId> Payment file administration. REFERENCE NOTE </PmtInfId>
<PmtMtd> Static Value: “TRF” </PmtMtd>
<PmtTpInf>
<SvcLvl>
<Cd> Static Value: ” URGP” </Cd>
</SvcLvl>
</PmtTpInf>
<ReqdExctnDt> Payment file administration. PROCESS DATE</ReqdExctnDt>
<Dbtr>
<Nm> company bank. Legal Name </Nm>
<PstlAdr>
<StrtNm> company bank. Street</StrtNm>
<PstCd> company bank.zip</PstCd>
<TwnNm> company bank. Town</TwnNm>
<CtrySubDvsn> company bank. state code</CtrySubDvsn>
<Ctry> company bank. country</Ctry>
</PstlAdr>
</Dbtr>
<DbtrAcct>
<Id>
<Othr>
<Id> company bank. Account number </Id>
</Othr>
</Id>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<BIC> company bank. BIC</BIC>
<ClrSysMmbId>
<MmbId>Company bank details. Member ID</MmbId>
</ClrSysMmbId>
<Nm> Company bank details. Bank name </Nm>
<PstlAdr>
<Ctry> company bank. country</Ctry>
</PstlAdr>
</FinInstnId>
</DbtrAgt>
<ChrgBr>Static value “DEBT”</ChrgBr>
<CdtTrfTxInf>
<PmtId>
<InstrId> Payment file administration.ID </InstrId>
<EndToEndId> Payment. tranID </EndToEndId>
</PmtId>
<Amt>
<InstdAmt Ccy=”USD”> payment. amount </InstdAmt>
</Amt>
<CdtrAgt>
<FinInstnId>
<BIC> Entity bank details. BIC </BIC>
<ClrSysMmbId>
<MmbId> Entity bank details. Member ID</MmbId>
</ClrSysMmbId>
<PstlAdr>
<Ctry> Entity bank details. Country code</Ctry>
</PstlAdr>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm> Entity bank details.name </Nm>
<PstlAdr>
<StrtNm> Entity bank details. Street </StrtNm>
<PstCd> Entity bank details.zip </PstCd>
<TwnNm> Entity bank details. Town </TwnNm>
<CtrySubDvsn> Entity bank details. state code </CtrySubDvsn>
<Ctry> Entity bank details. country code </Ctry>
</PstlAdr>
</Cdtr>
<CdtrAcct>
<Id>
<Othr>
<Id>Entity bank details. Account number</Id>
</Othr>
</Id>
</CdtrAcct>
<RmtInf>
<Ustrd> Payment. Document number</Ustrd>
</RmtInf>
</CdtTrfTxInf>
</PmtInf>
</CstmrCdtTrfInitn>
</Document>
XMLv3_USD-Wire-to-BRazil
<?xml version=”1.0″ encoding=”utf-8″?>
<Document xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns=”urn:iso:std:iso:20022:tech:xsd:pain.001.001.03″>
<CstmrCdtTrfInitn>
<GrpHdr>
<MsgId> Payment file administration. ID </MsgId>
<CreDtTm> Payment file administration. TIMESTAMP </CreDtTm>
<Authstn>
<Cd> Static value: “AUTH” </Cd>
</Authstn>
<NbOfTxs> Total number of payments </NbOfTxs>
<InitgPty>
<Id>
<OrgId>
<Othr>
<Id> Company Bank details. Company ABC id </Id>
</Othr>
</OrgId>
</Id>
</InitgPty>
</GrpHdr>
<PmtInf>
<PmtInfId> Payment file administration. REFERENCE NOTE </PmtInfId>
<PmtMtd> Static Value: “TRF” </PmtMtd>
<PmtTpInf>
<SvcLvl>
<Cd> Static Value: ” URGP” </Cd>
</SvcLvl>
</PmtTpInf>
<ReqdExctnDt> Payment file administration. PROCESS DATE </ReqdExctnDt>
<Dbtr>
<Nm> company bank. Legal Name </Nm>
<PstlAdr>
<StrtNm> company bank. Street </StrtNm>
<PstCd> company bank.zip </PstCd>
<TwnNm> company bank. Town </TwnNm>
<CtrySubDvsn> company bank. state code </CtrySubDvsn>
<Ctry> company bank. country </Ctry>
</PstlAdr>
</Dbtr>
<DbtrAcct>
<Id>
<Othr>
<Id> company bank. Account number </Id>
</Othr>
</Id>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<BIC> company bank. BIC </BIC>
<ClrSysMmbId>
<MmbId> Company bank details. Member ID </MmbId>
</ClrSysMmbId>
<Nm> Company bank details. Bank name </Nm>
<PstlAdr>
<Ctry> company bank. country </Ctry>
</PstlAdr>
</FinInstnId>
</DbtrAgt>
<ChrgBr> Static value “DEBT” </ChrgBr>
<CdtTrfTxInf>
<PmtId>
<InstrId> Payment file administration.ID </InstrId>
<EndToEndId> Payment. tranID </EndToEndId>
</PmtId>
<Amt>
<InstdAmt Ccy=”USD”> payment. amount </InstdAmt>
</Amt>
<IntrmyAgt1>
<FinInstnId>
<BIC>Vendor bank details. Intermediary BIC</BIC>
<PstlAdr>
<Ctry> Vendor bank details. Intermediary Country code</Ctry>
</PstlAdr>
</FinInstnId>
</IntrmyAgt1>
<CdtrAgt>
<FinInstnId>
<BIC> Entity bank details. BIC </BIC>
<PstlAdr>
<Ctry> Entity bank details. Country code </Ctry>
</PstlAdr>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm> Entity bank details.name </Nm>
<PstlAdr>
<StrtNm> Entity bank details. Street </StrtNm>
<PstCd> Entity bank details.zip </PstCd>
<TwnNm> Entity bank details. Town </TwnNm>
<Ctry> Entity bank details. country code </Ctry>
</PstlAdr>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN> Entity bank details. IBAN </IBAN>
</Id>
</CdtrAcct>
<RmtInf>
<Ustrd> Entity bank details. Tax ID Number</Ustrd>
<Ustrd>Entity bank details. Beneficiary email</Ustrd>
<Ustrd> Payment. Document number </Ustrd>
</RmtInf>
</CdtTrfTxInf>
</PmtInf>
</CstmrCdtTrfInitn>
</Document>
XMLv3_USD-Wire-to-IBAN
<?xml version=”1.0″ encoding=”utf-8″?>
<Document xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns=”urn:iso:std:iso:20022:tech:xsd:pain.001.001.03″>
<CstmrCdtTrfInitn>
<GrpHdr>
<MsgId> Payment file administration. ID E</MsgId>
<CreDtTm> Payment file administration. TIMESTAMP </CreDtTm>
<Authstn>
<Cd> Static value: “AUTH” </Cd>
</Authstn>
<NbOfTxs> Total number of payments </NbOfTxs>
<InitgPty>
<Id>
<OrgId>
<Othr>
<Id> Company Bank details. Company ABC id </Id>
</Othr>
</OrgId>
</Id>
</InitgPty>
</GrpHdr>
<PmtInf>
<PmtInfId> Payment file administration. REFERENCE NOTE </PmtInfId>
<PmtMtd> Static Value: “TRF” </PmtMtd>
<PmtTpInf>
<SvcLvl>
<Cd> Static Value: ” URGP” </Cd>
</SvcLvl>
</PmtTpInf>
<ReqdExctnDt> Payment file administration. PROCESS DATE </ReqdExctnDt>
<Dbtr>
<Nm> company bank. Legal Name </Nm>
<PstlAdr>
<StrtNm> company bank. Street </StrtNm>
<PstCd> company bank.zip </PstCd>
<TwnNm> company bank. Town </TwnNm>
<CtrySubDvsn> company bank. state code </CtrySubDvsn>
<Ctry> company bank. country </Ctry>
</PstlAdr>
</Dbtr>
<DbtrAcct>
<Id>
<Othr>
<Id> company bank. Account number </Id>
</Othr>
</Id>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<BIC> company bank. BIC </BIC>
<ClrSysMmbId>
<MmbId> Company bank details. Member ID </MmbId>
</ClrSysMmbId>
<Nm> Company bank details. Bank name </Nm>
<PstlAdr>
<Ctry> company bank. country </Ctry>
</PstlAdr>
</FinInstnId>
</DbtrAgt>
<ChrgBr> Static value “DEBT” </ChrgBr>
<CdtTrfTxInf>
<PmtId>
<InstrId> Payment file administration.ID </InstrId>
<EndToEndId> Payment. tranID </EndToEndId>
</PmtId>
<Amt>
<InstdAmt Ccy=”USD”> payment. amount </InstdAmt>
</Amt>
<CdtrAgt>
<FinInstnId>
<BIC> Entity bank details. BIC </BIC>
<Nm>Entity bank details. Bank name</Nm>
<PstlAdr>
<Ctry> Entity bank details. Country code </Ctry>
</PstlAdr>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm> Entity bank details.name </Nm>
<PstlAdr>
<StrtNm> Entity bank details. Street </StrtNm>
<PstCd> Entity bank details.zip </PstCd>
<TwnNm> Entity bank details. Town </TwnNm>
<Ctry> Entity bank details. country code </Ctry>
</PstlAdr>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN> Entity bank details. IBAN</IBAN>
</Id>
</CdtrAcct>
<RmtInf>
<Ustrd> Payment. Document number </Ustrd>
</RmtInf>
</CdtTrfTxInf>
</PmtInf>
</CstmrCdtTrfInitn>
</Document>
Assumptions
- We have added the field mapping of 3 Payment file templates and highlighted the corresponding NetSuite fields in Green color. We will create the 3 payment templates for all currencies in XML format based on field mapping.
- We will not provide any validation for fields.
Risk
- J&J will not create the actual company bank details and vendor bank details in this scope. QIMA has to create company bank details and vendor bank details with Actual details.
- J&J created the field mapping on assumption based on sample file. If the bank reject this template due to incorrect field mapping after the development, J&J might have to revise the template. That is not considered in this scope. So that additional effort will be billed as support hours.