Community,
We are testing with bank ISO20022 US supplier ACH payment, we got below error - Recipient Postal Code is Required.
would like to borrow your mind, where is the place to could fill the postal code in below supplier bank information panel?
Community,
We are testing with bank ISO20022 US supplier ACH payment, we got below error - Recipient Postal Code is Required.
would like to borrow your mind, where is the place to could fill the postal code in below supplier bank information panel?
I am appending the postal code at address line #2. see whether it pass the validation or not.
Hi
Can you check if Detailed Postal Address is set to true. The field is on payment institute > format specific info per institute.
See help description
Detailed Postal Address
If this check box is selected, detailed postal address of the payer will be displayed with following values.
<StrtNm> : Address 1
<PstCd> : Zip Code
<CtrySubDvsn>: State
<TwnNm> : City <Ctry> : Country Code
If this check box is not selected, two address lines are displayed.
<AdrLine> : Address 1 + Address 2
<AdrLine> : Zip Code
our Debtor ISO20022 detail postal address is set to TRUE.
but I have bit confused, the bank error said Recipient Postal Code, here the settings is about Payer, not Payee (Recipient)?
Thank you.
Hello
I am sorry, I misread your first post. The one I shared is for payer. For the payee, you can see the setup on the screen shot you shared.
I believe it should be fetched from default PAY address for the supplier. I created a payment file and checking trace information. There is zip code and see the explanation from help.
Payer/Payee Zip Code
This field shows the postal code from the payee's/payer's default payment address at the time when the file was created.
I am making changes and testing with bank.
appreciate your help.
Is this available for Employee Payments - looking to pay expenses.
We are on Apps10 UPD16.
I can not see it in the file - nor can we gain access to Payment Specific Information.
Many thanks,
Matthew
Hi
It is available for employees but setup is a little different than suppliers. You must add bank details on employee card, then setup ISO20022 under employee expense etc.
Bank send me another error, “Recipient Address is required”. I compared the bank sample, I missed the tag <Adrline>, wondering where to fill this tag?
My supplier address set up
My payment history file
Hi
I am suspicious about address setup. Can you check the address setup?
Thanks
Hello
I will reply you tomorrow in more detail I need to check xslt file.
Just can you send screen shot of supplier payment address for ISO?
Thanks
Hi
Can you send payment address (bank account) details for supplier.
Thanks
Hi
According to xsl file, when Show Detailed Postal Address of Payee field is selected (set to TRUE) then address presentation will change in the xml file.
Set that field to FALSE, navigate to Supplier Payment Orders, click RMB on the line and Repat Media Output with Current Data. This should create a new xml file. Compare the new file with bank format
<xsl:variable name="Vvar_Detail_Address" select="$Vvar35_SEPA_PAYMENT_TRANS/n1:DETAIL_ADDRESS"/>
<xsl:choose>
<xsl:when test=" $Vvar_Detail_Address = 'TRUE'">
<xsl:for-each select="n1:ADDRESSES">
<xsl:for-each select="n1:SEPA_PAYMENT_TRANS_ADDRESS">
<xsl:if test=" n1:LINE_NO ='1.0'">
<xsl:variable name="Vvar_Null_Const" select="''"/>
<xsl:variable name="Vvar_COUNTRY">
<xsl:for-each select="n1:COUNTRY">
<xsl:value-of select="."/>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="Vvar_ADDRESS1">
<xsl:for-each select="n1:ADDRESS_1">
<xsl:value-of select="."/>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="Vvar_CITY">
<xsl:for-each select="n1:CITY">
<xsl:value-of select="."/>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="Vvar_ZIP_CODE">
<xsl:for-each select="n1:ZIP_CODE">
<xsl:value-of select="."/>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="Vvar_STATE">
<xsl:for-each select="n1:STATE">
<xsl:value-of select="."/>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="Vvar_COUNTY">
<xsl:for-each select="n1:COUNTY">
<xsl:value-of select="."/>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="Vvar_COUNTRY_SUB_DIV">
<xsl:if test="$Vvar_STATE != ''">
<xsl:value-of select="$Vvar_STATE"/>
</xsl:if>
<xsl:if test="$Vvar_STATE = ''">
<xsl:value-of select="$Vvar_COUNTY"/>
</xsl:if>
</xsl:variable>
<xsl:variable name="Vvar_Result_Of_Country" select="$Vvar_Null_Const != $Vvar_COUNTRY"/>
<xsl:variable name="Vvar_Result_Of_Address1" select="$Vvar_Null_Const != $Vvar_ADDRESS1"/>
<xsl:variable name="Vvar_Result_Of_City" select="$Vvar_Null_Const != $Vvar_CITY"/>
<xsl:variable name="Vvar_Result_Of_Zip_Code" select="$Vvar_Null_Const != $Vvar_ZIP_CODE"/>
<xsl:variable name="Vvar_Result_Of_Country_Sub_div" select="$Vvar_Null_Const != $Vvar_COUNTRY_SUB_DIV"/>
<xsl:variable name="Vvar1_Result_Of_All2" select="$Vvar_Result_Of_Country or $Vvar_Result_Of_Address1 or Vvar_Result_Of_City or Vvar_Result_Of_Zip_Code or $Vvar_Result_Of_Country_Sub_div"/>
<xsl:if test="string($Vvar1_Result_Of_All2)='true'">
<PstlAdr>
<xsl:if test="string($Vvar_Result_Of_Address1)='true'">
<StrtNm>
<xsl:call-template name="escapeCharacters">
<xsl:with-param name="inputVal" select="$Vvar_ADDRESS1"/>
</xsl:call-template>
</StrtNm>
</xsl:if>
<xsl:if test="string($Vvar_Result_Of_Zip_Code)='true'">
<PstCd>
<xsl:value-of select="$Vvar_ZIP_CODE"/>
</PstCd>
</xsl:if>
<xsl:if test="string($Vvar_Result_Of_City)='true'">
<TwnNm>
<xsl:value-of select="$Vvar_CITY"/>
</TwnNm>
</xsl:if>
<xsl:if test="string($Vvar_Result_Of_Country_Sub_div)='true'">
<CtrySubDvsn>
<xsl:value-of select="$Vvar_COUNTRY_SUB_DIV"/>
</CtrySubDvsn>
</xsl:if>
<xsl:if test="string($Vvar_Result_Of_Country)='true'">
<Ctry>
<xsl:value-of select="$Vvar_COUNTRY"/>
</Ctry>
</xsl:if>
</PstlAdr>
</xsl:if>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<PstlAdr>
<xsl:for-each select="n1:ADDRESSES">
<xsl:for-each select="n1:SEPA_PAYMENT_TRANS_ADDRESS">
<xsl:variable name="Vvar54_SEPA_PAYMENT_TRANS_ADDRESS" select="."/>
<xsl:for-each select="n1:LINE_NO">
<xsl:variable name="Vvar56_LINE_NO" select="."/>
<xsl:variable name="Vvar57_CONST" select="1.0"/>
<xsl:variable name="Vvar58_RESULTOF_equal" select="$Vvar56_LINE_NO = $Vvar57_CONST"/>
<xsl:variable name="Vvar59_CONDITION">
<xsl:choose>
<xsl:when test="string($Vvar58_RESULTOF_equal)='true'">
<xsl:for-each select="$Vvar54_SEPA_PAYMENT_TRANS_ADDRESS/n1:COUNTRY">
<xsl:variable name="Vvar61_COUNTRY" select="."/>
<xsl:value-of select="$Vvar61_COUNTRY"/>
</xsl:for-each>
</xsl:when>
<xsl:otherwise/>
</xsl:choose>
</xsl:variable>
<xsl:variable name="Vvar118_CONST" select="''"/>
<xsl:variable name="Vvar119_RESULTOF_equal" select="$Vvar118_CONST = $Vvar59_CONDITION"/>
<xsl:if test="not(string($Vvar119_RESULTOF_equal)='true')">
<Ctry>
<xsl:value-of select="$Vvar59_CONDITION"/>
</Ctry>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
<xsl:for-each select="n1:ADDRESSES">
<xsl:for-each select="n1:SEPA_PAYMENT_TRANS_ADDRESS">
<xsl:variable name="Vvar54_SEPA_PAYMENT_TRANS_ADDRESS" select="."/>
<xsl:for-each select="n1:LINE_NO">
<xsl:variable name="Vvar56_LINE_NO" select="."/>
<xsl:variable name="Vvar57_CONST" select="1.0"/>
<xsl:variable name="Vvar58_RESULTOF_equal" select="$Vvar56_LINE_NO = $Vvar57_CONST"/>
<xsl:variable name="Vvar59_CONDITION">
<xsl:choose>
<xsl:when test="string($Vvar58_RESULTOF_equal)='true'">
<xsl:variable name="Vvar1102_RESULTOF_equal" select="'true'"/>
<xsl:variable name="Vvar1103_RESULTOF_equal" select="'true'"/>
<xsl:variable name="Vvar61_ADDRESS_1"/>
<xsl:variable name="Vvar61_ADDRESS_2"/>
<xsl:variable name="Vvar1180_CONST" select="' '"/>
<xsl:variable name="Vvar118_CONST" select="''"/>
<xsl:for-each select="$Vvar54_SEPA_PAYMENT_TRANS_ADDRESS/n1:ADDRESS_1">
<xsl:variable name="Vvar61_ADDRESS_1" select="."/>
<xsl:variable name="Vvar1102_RESULTOF_equal" select="$Vvar118_CONST = $Vvar61_ADDRESS_1"/>
<xsl:value-of select="$Vvar61_ADDRESS_1"/>
<xsl:for-each select="$Vvar54_SEPA_PAYMENT_TRANS_ADDRESS/n1:ADDRESS_2">
<xsl:variable name="Vvar61_ADDRESS_2" select="."/>
<xsl:variable name="Vvar1103_RESULTOF_equal" select="$Vvar118_CONST = $Vvar61_ADDRESS_2"/>
<xsl:if test="not(string($Vvar1102_RESULTOF_equal)='true') and not(string($Vvar1103_RESULTOF_equal)='true')">
<xsl:value-of select="$Vvar1180_CONST"/>
</xsl:if>
<xsl:value-of select="$Vvar61_ADDRESS_2"/>
</xsl:for-each>
</xsl:for-each>
</xsl:when>
<xsl:otherwise/>
</xsl:choose>
</xsl:variable>
<xsl:variable name="Vvar118_CONST" select="''"/>
<xsl:variable name="Vvar119_RESULTOF_equal" select="$Vvar118_CONST = $Vvar59_CONDITION"/>
<xsl:if test="not(string($Vvar119_RESULTOF_equal)='true')">
<AdrLine>
<xsl:call-template name="escapeCharacters">
<xsl:with-param name="inputVal" select="substring($Vvar59_CONDITION,1,70)"/>
</xsl:call-template>
</AdrLine>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
<xsl:for-each select="n1:ADDRESSES">
<xsl:for-each select="n1:SEPA_PAYMENT_TRANS_ADDRESS">
<xsl:variable name="Vvar54_SEPA_PAYMENT_TRANS_ADDRESS" select="."/>
<xsl:for-each select="n1:LINE_NO">
<xsl:variable name="Vvar56_LINE_NO" select="."/>
<xsl:variable name="Vvar59_CONST" select="2.0"/>
<xsl:variable name="Vvar60_RESULTOF_equal" select="$Vvar56_LINE_NO = $Vvar59_CONST"/>
<xsl:variable name="Vvar59_CONDITION">
<xsl:choose>
<xsl:when test="string($Vvar60_RESULTOF_equal)='true'">
<xsl:for-each select="$Vvar54_SEPA_PAYMENT_TRANS_ADDRESS/n1:ADDRESS_1">
<xsl:variable name="Vvar61_ADDRESS_2" select="."/>
<xsl:value-of select="$Vvar61_ADDRESS_2"/>
</xsl:for-each>
</xsl:when>
<xsl:otherwise/>
</xsl:choose>
</xsl:variable>
<xsl:variable name="Vvar118_CONST" select="''"/>
<xsl:variable name="Vvar119_RESULTOF_equal" select="$Vvar118_CONST = $Vvar59_CONDITION"/>
<xsl:if test="not(string($Vvar119_RESULTOF_equal)='true')">
<AdrLine>
<xsl:call-template name="escapeCharacters">
<xsl:with-param name="inputVal" select="$Vvar59_CONDITION"/>
</xsl:call-template>
</AdrLine>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
</PstlAdr>
</xsl:otherwise>
</xsl:choose>
Hello
I think issue is with the bank’s format. But we can modify xsl. Set Show Detailed address to TRUE again. That is the closest version. Bank is asking for adrline tag rather than strnm. I will modify xsl and send you updated version.
have a nice weekend
how difficult to change the XSL? sorry I am not technical, and we are on cloud, is that easy to do at our end or has to be done by IFS support?
Appreciated your time.
Hi
It is handled on IFS windows but requires technical skill. You can download current xsl file. Make your changes and upload newer version. Always save original xsl as backup.
I am wondering whether below changes in XSL that could change the tag name from <StrtNm> to <AdrLine>
Hi
This could be a solution but if you will have another bank with detailed address and the bank format will ask for StrtNm tag instead of AdrLine, then you must add a condition to resolve the issue.
Hope this helps
Thank you again.
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.