Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

BAPI_ACC_INVOICE_RECEIPT_POST extension1

joerg_arndt
Participant
0 Kudos

Hi Friends,

I need some help for the bapi above.

Is it possible to force tha BAPI to calculate the Tax by itself.

I mean, in FB60 I see the checkbox 'Calculate Tax?' and when I tick it, it does so.

But I could not find any field in the BAPI Structures to transfer the information.

How can I achieve that in the BAPI.

Thank you very much

Rg. Jimbob

1 ACCEPTED SOLUTION

joerg_arndt
Participant
0 Kudos

Thank you very much Raynond,

but unfortunatly I have no access to the OSS website.

Anyway, thanks.

4 REPLIES 4

raymond_giuseppi
Active Contributor
0 Kudos

Take a look at OSS [Note 626235 - Tax postings with accounting BAPIs|https://service.sap.com/sap/support/notes/626235]

Regards

joerg_arndt
Participant
0 Kudos

Thank you very much Raynond,

but unfortunatly I have no access to the OSS website.

Anyway, thanks.

0 Kudos

Note 626235 - Tax postings with accounting BAPIs

Symptom

This note provides an example of how you can map tax postings using accounting BAPIs.

Other terms

Accounting, interface, non-deductible distributable input tax (NVV tax), BAPI

  • BAPI_ACC_BILLING_POST / CHECK

  • BAPI_ACC_INVOICE_RECEIPT_POST / CHECK

  • BAPI_ACC_GOODS_MOVEMENT_POST / CHECK

  • BAPI_ACC_EMPLOYEE_EXP_POST / CHECK

  • BAPI_ACC_EMPLOYEE_PAY_POST / CHECK

  • BAPI_ACC_EMPLOYEE_REC_POST / CHECK

  • BAPI_ACC_DOCUMENT_POST / CHECK

Reason and Prerequisites

This is a consulting note.

Solution 1. Example configuration of a tax code in transaction FTXP: You do not use any external tax system.

Country key US

Tax code U1

Procedure TAXUSJ

Tax type V (Input tax)

Jurisdiction Code PA0011000

Tax type Acct Key TaxPercRate Level FromLevel Cond.Type Location

Base Amount                          100    0        BASB
Subtotal                            120    0
A/P Sales Tax 1 Inv. NVV    5,000    210    120      JP1I  PA0000000
A/P Sales Tax 2 Inv. NVV    2,000    220    120      JP2I  PA0010000
A/P Sales Tax 3 Inv. NVV    1,000    230    120      JP3I  PA0011000
A/P Sales Tax 1 Use  MW1  100,000-  410    210       JP1U  PA0000000
A/P Sales Tax 2 Use  MW2  100,000-  420    220       JP2U  PA0010000
A/P Sales Tax 3 Use  MW3  100,000-  430    230       JP3U  PA0011000

Business transaction:

You want to post an invoice.

You post the gross invoice amount of USD 100 with a total of USD 108 as expense according to the calculation procedure. On the other side there are tax line items with amounts of USD 5, 2 and 1. The posting record appears as follows:

Expense account 108 USD (debit)

To vendor -100 USD (credit)

To input tax -5 USD (Credit)

To input tax -2 USD (Credit)

To input tax -1 USD (Credit)

Structure of the tax-relevant BAPI lines:

AccountGL-Itemno_acc = '0000000002'.
AccountGL-GL_Account = '0000400000'.
AccountGL-Tax_Code   = 'U1'.
AccountGL-Taxjurcode = 'PA0011000'.
CurrencyAmount-Itemno_acc = '0000000002'.
CurrencyAmount-Curr_Type  = '00'.
CurrencyAmount-Currency   = 'USD'.
CurrencyAmount-Amt_Doccur = '108'.

*Input tax
AccountTax-Itemno_Acc = '0000000003'.
AccountTax-Tax_Code   = 'U1'.
AccountTax-Acct_Key   = 'MW1'.
AccountTax-Cond_Key   = 'JP1U'.
AccountTax-Taxjurcode = 'PA0000000'.
accounttax-taxjurcode_deep = 'PA0011000'.
accounttax-taxjurcode_level = '1'.
CurrencyAmount-Itemno_acc = '0000000003'.
CurrencyAmount-Curr_Type  = '00'.
CurrencyAmount-Currency   = 'USD'.
CurrencyAmount-Amt_Doccur = '5-'.
CurrencyAmount-Amt_Base   = '100-'.

AccountTax-Itemno_Acc = '0000000004'.
AccountTax-Tax_Code   = 'U1'.
AccountTax-Acct_Key   = 'MW2'.
AccountTax-Cond_Key   = 'JP2U'.
AccountTax-Taxjurcode = 'PA0010000'.
accounttax-taxjurcode_deep = 'PA0011000'.
accounttax-taxjurcode_level = '2'.
CurrencyAmount-Itemno_acc = '0000000004'.
CurrencyAmount-Curr_Type  = '00'.
CurrencyAmount-Currency   = 'USD'.
CurrencyAmount-Amt_Doccur = '2-'.
CurrencyAmount-Amt_Base   = '100-'.

AccountTax-Itemno_Acc = '0000000005'.
AccountTax-Tax_Code   = 'U1'.
AccountTax-Acct_Key   = 'MW3'.
AccountTax-Cond_Key   = 'JP3U'.
AccountTax-Taxjurcode = 'PA0011000'.
accounttax-taxjurcode_deep = 'PA0011000'.
accounttax-taxjurcode_level = '3'.
CurrencyAmount-Itemno_acc = '0000000005'.
CurrencyAmount-Curr_Type  = '00'.
CurrencyAmount-Currency   = 'USD'.
CurrencyAmount-Amt_Doccur = '1-'.
CurrencyAmount-Amt_Base   = '100-'.

*--------------------------------------------------
*NVV
AccountTax-Itemno_Acc = '0000000006'.
AccountTax-Tax_Code   = 'U1'.
AccountTax-Acct_Key   = 'NVV'.
AccountTax-Cond_Key   = 'JP1I'.
AccountTax-Taxjurcode = 'PA0000000'.
accounttax-taxjurcode_deep = 'PA0011000'.
accounttax-taxjurcode_level = '1'.
AccountTax-Stat_Con   = 'X'.
CurrencyAmount-Itemno_acc = '0000000006'.
CurrencyAmount-Curr_Type  = '00'.
CurrencyAmount-Currency   = 'USD'.
CurrencyAmount-Amt_Doccur = '5'.
CurrencyAmount-Amt_Base   = '100'.

AccountTax-Itemno_Acc = '0000000007'.
AccountTax-Tax_Code   = 'U1'.
AccountTax-Acct_Key   = 'NVV'.
AccountTax-Cond_Key   = 'JP2I'.
AccountTax-Taxjurcode = 'PA0010000'.
accounttax-taxjurcode_deep = 'PA0011000'.
accounttax-taxjurcode_level = '2'.
AccountTax-Stat_Con   = 'X'.
CurrencyAmount-Itemno_acc = '0000000007'.
CurrencyAmount-Curr_Type  = '00'.
CurrencyAmount-Currency   = 'USD'.
CurrencyAmount-Amt_Doccur = '2'.
CurrencyAmount-Amt_Base   = '100'.

AccountTax-Itemno_Acc = '0000000008'.
AccountTax-Tax_Code   = 'U1'.OBC
AccountTax-Acct_Key   = 'NVV'.
AccountTax-Cond_Key   = 'JP3I'.
AccountTax-Taxjurcode = 'PA0011000'.
accounttax-taxjurcode_deep = 'PA0011000'.
accounttax-taxjurcode_level = '3'.
AccountTax-Stat_Con   = 'X'.
CurrencyAmount-Itemno_acc = '0000000008'.
CurrencyAmount-Curr_Type  = '00'.
CurrencyAmount-Currency   = 'USD'.
CurrencyAmount-Amt_Doccur = '1'.
CurrencyAmount-Amt_Base   = '100'.

2. Example configuration of a tax code in transaction FTXP: You use an external tax system. You made Customizing settings (transaction OBCO) to ensure that the system determines tax amounts line by line.

Country key US

Tax code U1

Schema TAXUSX

Tax type V (Input tax)

Tax type Acct Key TaxPercRate Level FromLevel Cond.Type

Base Amount                          100    0        BASB
Subtotal                            120    0
A/P Sales Tax 1 Inv. NVV  100,000    210    100       XP1I
A/P Sales Tax 2 Inv. NVV  100,000    220    100       XP2I
A/P Sales Tax 3 Inv. NVV  100,000    230    100       XP3I
A/P Sales Tax 4 Inv. NVV  100,000    240    100       XP4I
A/P Sales Tax 5 Inv. NVV  100,000    250    100       XP5I
A/P Sales Tax 3 Inv. NVV  100,000    260    100       XP6I

A/P Sales Tax 1 Use  MW1  100,000-   410    210       XP1U
A/P Sales Tax 2 Use  MW2  100,000-   420    220       XP2U
A/P Sales Tax 3 Use  MW3  100,000-   430    230       XP3U
A/P Sales Tax 4 Use  MW4  100,000-   440    240       XP4U
A/P Sales Tax 5 Use  MW4  100,000-   450    250       XP5U
A/P Sales Tax 6 Use  MW4  100,000-   460    260       XP6U

Geschäftsvorfall:

Es soll eine Rechnung gebucht werden.

You post the gross invoice amount of USD 100 with a total of USD 108.25 as expense according to the calculation procedure. On the other side there are tax line items with amounts of USD 6, 1.25 and 1. The posting record appears as follows:

Expense account 108.25 USD (debit)

To vendor -100.00 USD (credit)

To input tax -6.00 USD (Credit)

To input tax -1.25 USD (Credit)

To input tax -1.00 USD (Credit)

Structure of the tax-relevant BAPI lines:

accountgl-itemno_acc = '20'.
accountgl-gl_account = '0000400000'.
accountgl-tax_code   = 'U1'.
accountgl-taxjurcode = '0508525201'.
currencyamount-itemno_acc = '20'.
currencyamount-curr_type  = '00'.
currencyamount-currency   = 'USD'.
currencyamount-amt_doccur = '108.25'.

*Input tax
CLEAR accounttax.
CLEAR currencyamount.
accounttax-itemno_acc = '30'.
accounttax-itemno_tax = '20'.
accounttax-tax_code   = 'U1'.
accounttax-acct_key   = 'MW1'.
accounttax-cond_key   = 'XP1U'.
accounttax-tax_rate   = '100-'.
accounttax-taxjurcode = '050000000'.
accounttax-taxjurcode_deep = '0508525201'.
accounttax-taxjurcode_level = '1'.
currencyamount-itemno_acc = '30'.
currencyamount-curr_type  = '00'.
currencyamount-currency   = 'USD'.
currencyamount-amt_doccur = '6-'.
currencyamount-amt_base   = '100-'.

accounttax-itemno_acc = '40'.
accounttax-itemno_tax = '20'.
accounttax-tax_code   = 'U1'.
accounttax-acct_key   = 'MW2'.
accounttax-cond_key   = 'XP2U'.
accounttax-tax_rate   = '100-'.
accounttax-taxjurcode = '050850000'.
accounttax-taxjurcode_deep = '0508525201'.
accounttax-taxjurcode_level = '2'.
currencyamount-itemno_acc = '40'.
currencyamount-curr_type  = '00'.
currencyamount-currency   = 'USD'.
currencyamount-amt_doccur = '1.25-'.
currencyamount-amt_base   = '100-'.

accounttax-itemno_acc = '50'.
accounttax-itemno_tax = '20'.
accounttax-tax_code   = 'U1'.
accounttax-acct_key   = 'MW3'.
accounttax-cond_key   = 'XP3U'.
accounttax-tax_rate   = '100-'.
accounttax-taxjurcode = '050852520'.
accounttax-taxjurcode_deep = '0508525201'.
accounttax-taxjurcode_level = '3'.
currencyamount-itemno_acc = '50'.
currencyamount-curr_type  = '00'.
currencyamount-currency   = 'USD'.
currencyamount-amt_doccur = '0'.
currencyamount-amt_base   = '100-'.

accounttax-itemno_acc = '60'.
accounttax-itemno_tax = '20'.
accounttax-tax_code   = 'U1'.
accounttax-acct_key   = 'MW4'.
accounttax-cond_key   = 'XP4U'.
accounttax-tax_rate   = '100-'.
accounttax-taxjurcode = '050852520'.
accounttax-taxjurcode_deep = '0508525201'.
accounttax-taxjurcode_level = '4'.
currencyamount-itemno_acc = '60'.
currencyamount-curr_type  = '00'.
currencyamount-currency   = 'USD'.
currencyamount-amt_doccur = '1-'.
currencyamount-amt_base   = '100-'.

accounttax-itemno_acc = '70'.
accounttax-itemno_tax = '20'.
accounttax-tax_code   = 'U1'.
accounttax-acct_key   = 'MW4'.
accounttax-cond_key   = 'XP5U'.
accounttax-tax_rate   = '100-'.
accounttax-taxjurcode = '050852520'.
accounttax-taxjurcode_deep = '0508525201'.
accounttax-taxjurcode_level = '5'.
currencyamount-itemno_acc = '70'.
currencyamount-curr_type  = '00'.
currencyamount-currency   = 'USD'.
currencyamount-amt_doccur = '0'.
currencyamount-amt_base   = '100-'.

accounttax-itemno_acc = '80'.
accounttax-itemno_tax = '20'.
accounttax-tax_code   = 'U1'.
accounttax-acct_key   = 'MW4'.
accounttax-cond_key   = 'XP6U'.
accounttax-tax_rate   = '100-'.
accounttax-taxjurcode = '050852520'.
accounttax-taxjurcode_deep = '0508525201'.
accounttax-taxjurcode_level = '6'.
currencyamount-itemno_acc = '80'.
currencyamount-curr_type  = '00'.
currencyamount-currency   = 'USD'.
currencyamount-amt_doccur = '0'.
currencyamount-amt_base   = '100-'.

*--------------------------------------------------
*NVV
accounttax-itemno_acc = '90'.
accounttax-itemno_tax = '20'.
accounttax-tax_code   = 'U1'.
accounttax-acct_key   = 'NVV'.
accounttax-cond_key   = 'XP1I'.
accounttax-tax_rate   = '100'.
accounttax-taxjurcode = '050000000'.
accounttax-taxjurcode_deep = '0508525201'.
accounttax-taxjurcode_level = '1'.
accounttax-stat_con   = 'X'.
currencyamount-itemno_acc = '90'.
currencyamount-curr_type  = '00'.
currencyamount-currency   = 'USD'.
currencyamount-amt_doccur = '6'.
currencyamount-amt_base   = '100'.

accounttax-itemno_acc = '100'.
accounttax-itemno_tax = '20'.
accounttax-tax_code   = 'U1'.
accounttax-acct_key   = 'NVV'.
accounttax-cond_key   = 'XP2I'.
accounttax-tax_rate   = '100'.
accounttax-taxjurcode = '050850000'.
accounttax-taxjurcode_deep = '0508525201'.
accounttax-taxjurcode_level = '2'.
accounttax-stat_con   = 'X'.
currencyamount-itemno_acc = '100'.
currencyamount-curr_type  = '00'.
currencyamount-currency   = 'USD'.
currencyamount-amt_doccur = '1.25'.
currencyamount-amt_base   = '100'.

accounttax-itemno_acc = '110'.
accounttax-itemno_tax = '20'.
accounttax-tax_code   = 'U1'.
accounttax-acct_key   = 'NVV'.
accounttax-cond_key   = 'XP3I'.
accounttax-tax_rate   = '100'.
accounttax-taxjurcode = '050852520'.
accounttax-taxjurcode_deep = '0508525201'.
accounttax-taxjurcode_level = '3'.
accounttax-stat_con   = 'X'.
currencyamount-itemno_acc = '110'.
currencyamount-curr_type  = '00'.
currencyamount-currency   = 'USD'.
currencyamount-amt_doccur = '0'.
currencyamount-amt_base   = '100'.

accounttax-itemno_acc = '120'.
accounttax-itemno_tax = '20'.
accounttax-tax_code   = 'U1'.
accounttax-acct_key   = 'NVV'.
accounttax-cond_key   = 'XP4I'.
accounttax-tax_rate   = '100'.
accounttax-taxjurcode = '050852520'.
accounttax-taxjurcode_deep = '0508525201'.
accounttax-taxjurcode_level = '4'.
accounttax-stat_con   = 'X'.
currencyamount-itemno_acc = '120'.
currencyamount-curr_type  = '00'.
currencyamount-currency   = 'USD'.
currencyamount-amt_doccur = '1'.
currencyamount-amt_base   = '100'.

accounttax-itemno_acc = '130'.
accounttax-itemno_tax = '20'.
accounttax-tax_code   = 'U1'.
accounttax-acct_key   = 'NVV'.
accounttax-cond_key   = 'XP5I'.
accounttax-tax_rate   = '100'.
accounttax-taxjurcode = '050852520'.
accounttax-taxjurcode_deep = '0508525201'.
accounttax-taxjurcode_level = '5'.
accounttax-stat_con   = 'X'.
currencyamount-itemno_acc = '130'.
currencyamount-curr_type  = '00'.
currencyamount-currency   = 'USD'.
currencyamount-amt_doccur = '0'.
currencyamount-amt_base   = '100'.

accounttax-itemno_acc = '140'.
accounttax-itemno_tax = '20'.
accounttax-tax_code   = 'U1'.
accounttax-acct_key   = 'NVV'.
accounttax-cond_key   = 'XP6I'.
accounttax-tax_rate   = '100'.
accounttax-taxjurcode = '050852520'.
accounttax-taxjurcode_deep = '0508525201'.
accounttax-taxjurcode_level = '6'.
accounttax-stat_con   = 'X'.
currencyamount-itemno_acc = '140'.
currencyamount-curr_type  = '00'.
currencyamount-currency   = 'USD'.
currencyamount-amt_doccur = '0'.
currencyamount-amt_base   = '100'.

Special case:

There is no AccountTax-Stat_Con field for the BAPIs BAPI_ACC_DOCUMENT_POST / CHECK. Therefore, it cannot be set in this case.

The program derives it automatically.

joerg_arndt
Participant
0 Kudos

Thanks again, Raymond.