on 12-05-2017 3:51 AM
Dear Experts,
We have a situation to post Incoming payment automatically when the Invoice posted successfully. We have created scenario for Invoice on SAP B1if. Its working fine. But we need help to post incoming payment for this invoice which is posted .
Thanks in Advance.
Hi Senthil,
I am doing something like that already with one of my scenarios. I have in my processing flow two B1 object call atoms. The first one to insert the Invoice and the second one to insert the incoming payment.
The incoming payment payload is something like this. Check the Payment_Invoices xml section. You can link the payment to the invoice you already inserted by assigning to the DocEntry tag your Invoice's DocEntry value, which is returned in the Msg of the B1 object call atom payload with the attribute DImsg when the insertion is executed.
<Payments>
<row>
<CardCode>
<xsl:value-of select="$sale/CardCode"></xsl:value-of>
</CardCode>
<DocDate>
<xsl:value-of select="$sale/DocDate"></xsl:value-of>
</DocDate>
<DocType>rCustomer</DocType>
<CashAccount>1031</CashAccount>
<CheckAccount>1000</CheckAccount>
<DocCurrency>
<xsl:value-of select="$sale/Currency"></xsl:value-of>
</DocCurrency>
<CashSum>
<xsl:value-of select="$sale/PaidAmount"></xsl:value-of>
</CashSum>
<DocRate><xsl:value-of select="$sale/DocRate"></xsl:value-of></DocRate>
<TransferSum>0.000000</TransferSum>
<Remarks>WS</Remarks>
<BPLID>1</BPLID>
</row>
</Payments>
<Payments_Invoices>
<row>
<LineNum>0</LineNum>
<DocEntry>
<xsl:value-of select="$docEntry"></xsl:value-of>
</DocEntry>
<DocLine>1</DocLine>
<DiscountPercent>0.000000</DiscountPercent>
<SumApplied>
<xsl:value-of select="$docTotal"></xsl:value-of>
</SumApplied>
<PaidSum></PaidSum>
<InvoiceType>it_Invoice</InvoiceType>
</row>
</Payments_Invoices>
<Payments_CreditCards></Payments_CreditCards>
<Payments_DebitCards></Payments_DebitCards>
<Payments_Checks></Payments_Checks>
<PrimaryFormItems>
<row>
<CashFlowLineItemID>0</CashFlowLineItemID>
<Credit>0.0</Credit>
<PaymentMeans>pmtCash</PaymentMeans>
<xsl:choose>
<xsl:when test="$sale/Currency = 'SRD'">
<AmountLC>
<xsl:value-of select="$sale/PaidAmount"></xsl:value-of>
</AmountLC>
</xsl:when>
<xsl:otherwise>
<AmountFC>
<xsl:value-of select="$sale/PaidAmount"></xsl:value-of>
</AmountFC>
</xsl:otherwise>
</xsl:choose>
</row>
</PrimaryFormItems>
Hope it helps,
Gabriela
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
If I understood you correctly, you do expect the incoming payment can be created automatically as soon as the invoices(created by "B1i") is created, if this is the case, Two options I think.
1. Setup Successor in the invoices step Outbound
The integration framework allows you to define another scenario step which the integration framework calls after it finishes the processing of the current scenario step. You can use this mechanism to send back result information to the sender system, for example. Select a scenario step from the list. The list displays only scenario steps, assigned to the same scenario package and that have the Predecessor inbound type.
2. Quote Heinz Pauly's remark in another conversitation, "By default the Integration Framework will filter events, sent by user ‘B1i’ to avoid endless loops. In Maintenance->Cfg B1 Event Filter you can uncheck the checkbox ‘B1i User Filter Switched On’. With that the responsibility to avoid endless loops is in your hands. Use the ‘Exclude’ options to optimize your settings."
If that is the case above, I suggest to use option 1.
Best regards
Jim Jin
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
110 | |
12 | |
11 | |
6 | |
5 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.