71tech / ODIN

ODIN (Open Document Interface) is a flexible, extensible, easy to use import interface for SAP FI documents.
MIT License
11 stars 3 forks source link
abap2xlsx abapgit csv excel fi-document odin sap

:warning: The field name BUTXT for the document header text has recently been changed to the correct identifier BKTXT. If you still want to use BUTXT, use the alias table ZODIN_ALIAS. If you use this field in an extension, you have to adjust your coding (replace BUTXT with BKTXT).

Open Document Interface (ODIN)

ODIN is a flexible, extensible, easy to use, multi-purpose import interface for SAP FI documents. See wiki for screenshots and further documentation.

It is suitable for postings as they can be entered in the dialog transaction fb01, such as incoming and outgoing invoices or G/L account postings.

It accepts different input formats:

and has a flexible record structure.

It can be used as a dialog or batch application. In addition, e-mail input processing is planned.

Key features

Prerequisites

If Excel files are processed, abap2xlsx must be installed. For processing of csv files, abap2xlsx is not required and doesn't need to be installed.

ABAP releases older than 7.40 will not work. Release 7.40 might be ok; however it has not been tested. Release 7.50 and later should be fine. S/4 releases should work as well, however test is missing. Feedback at that point is very welcome.

Quick start

Clone the ODIN repo using abapGit, create package ZODIN (language = EN) first. In case of troubles with the installation open an issue.

You can utilize this simple Excel template for your first postings. Of course, some IDs such as company code, g/l account or vendor number need to be adjusted to your environment. Go to transaction ZODIN, select the local file, hit "Execute" and an ALV Grid List with your posting data should appear. If the status says "READY" and everything looks fine hit "Post" and a FI document will be created. Double click on a row to jump to transaction fb03.

The tool is also explained in this video on youtube, mainly from the user’s point of view

Authorization IMPORTANT

ODIN uses BAPI BAPI_ACC_DOCUMENT_POST for posting. Note that this FM doesn't perform any authority checks and therefore also ODIN comes without checking of authority for postings. Custom authority checks can be implemented for instance in the extension BADI_ACC_DOCUMENT (see SAP note 1748416 on this matter).

Besides ODIN requires authorization for file handling, varying whether files are loaded from local client or server. We recommend checking with transaction stauthtrace (or st01) if necessary.

Tolerance groups (transaction oba4) are not checked.

Available fields

Many common fields are available and alias names can be used, see wiki for details. If something is missing you can open an issue or make a contribution.

:warning: The field name BUTXT for the document header text has been changed to the correct identifier BKTXT. If you still want to use BUTXT, use the alias table ZODIN_ALIAS.

Dataset structure

At the moment the interface can process Excel and csv files, further input options are planned.

For Excel and csv the following applies:

Example (csv)

COUNTER;STRATEGY;BUKRS;BKTXT;XBLNR;BLDAT;BUDAT;BLART;SGTXT;LIFNR;KUNNR;HKONT;WRBTR_S;WRBTR_H;WAERS;MWSKZ;CUSTOM1
1;MY_OPTIONAL_STRATEGY;1234;Example for incoming invoice;INVOICE-001;26.03.2020;26.03.2020;KR;Text position;;;154200;119,00;;EUR;V2;Some custom value
1;MY_OPTIONAL_STRATEGY;1234;Example for incoming invoice;INVOICE-001;26.03.2020;26.03.2020;KR;Text position;802236;;;;119,00;EUR;V2;Some custom value
2;MY_OPTIONAL_STRATEGY;1234;Another example;INVOICE-002;27.03.2020;26.03.2020;KR;Text position;;;154200;;59,50;EUR;V2;Another custom value
2;MY_OPTIONAL_STRATEGY;1234;Another example;INVOICE-002;27.03.2020;26.03.2020;KR;Text position;;;154200;;59,50;EUR;V2;Another custom value
2;MY_OPTIONAL_STRATEGY;1234;Another example;INVOICE-002;27.03.2020;26.03.2020;KR;Text position;802236;;;119,00;;EUR;V2;Another custom value

Import program

Use sa38 > ZODIN or Transaction ZODIN, see wiki.

Server side processing of multiple files

Use sa38 > ZODIN_MULTIFILE, see wiki.

BAdI reference (extensions)

See wiki.

Contribution

Your contribution is very welcome!

Suggestions: REST/JSON Interface, SOAP/XML Interface, add fields, enable CPDs, Interface for DATEV format.

Feedback

Please open an issue for comments, suggestions, questions etc.

Acknowledgements

This project is kindly sponsored by

P7S1 Media SE Logo