Skip to Content

BAPI_INCOMINGINVOICE_CREATE amount decimal limited to 4

Hi Experts,

I faced one issue like below.

The customer is using a custom currency with 5 decimal in purchasing.

But when we develop a new program to create invoice verification for the GR, BAPI_INCOMINGINVOICE_CREATE1 will round off the 5th decimal of total amount.

Because the domain field BAPICURR is limited to 4 decimal.

So it will become a small difference to be posted.

But the customer does not like this difference.

Is there any workaround for that?

Thank you in advance.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Jan 14 at 05:11 PM

    You probably need to discuss this with SAP, they might have focused on real world currencies when defining the domain for the BAPI currency and ignored that they allowed to customize currencies more decimals.

    I could only imagine to create a BAPI extension with an own field which allows to carry more decimals and then using this value via an exit when posting, just brainstorming ... hence I added the ABAP Development tag for further ideas.

    Add comment
    10|10000 characters needed characters exceeded

  • Jan 15 at 08:47 AM

    You could read some OSS notes like 424420 - IDocs allow a max. of 5 decimal places with currencies (which suggested some 'modifications' and carry some 'side effects', so at your own risk, suggest you raise a message with OSS first or find a workaround)

    Some workaround: Look at parameter EXTENSIONIN and BAdI MRM_BAPI_MAPPING (of Ehn. Spot ES_BADI_MRM_EXTENSION)

    Add comment
    10|10000 characters needed characters exceeded

  • Jan 15 at 08:41 AM

    As another workaround you can post the difference once it's totaling to 4 decimals and up. Either on the same object or on some global object that is assigned to that same entity you are creating the invoice for.

    Add comment
    10|10000 characters needed characters exceeded