Will man FI-Belege aus externen Quellen ins System buchen, bietet sich die Verwendung von IDocs des Typs ACC_DOCUMENT an. In den nachfolgenden Abschnitten wird die ordnungsgemäße Befüllung des IDoc-Inhalts beschrieben.
Eigenschaften der IDocs des Typ ACC_DOCUMENT
Nachrichtentyp: ACC_DOCUMENT
Basistyp: ACC_DOCUMENT04
Struktur
Die relevanten Segmente des IDocs sind:
Status : Optional , min. Anzahl : 1 , max. Anzahl : 1
- E1BPACGL09 : Sachkontenzeile
Status : Optional , min. Anzahl : 1 , max. Anzahl : 999999999
- E1BPACAR09 : Debitorzeile
Status : Optional , min. Anzahl : 1 , max. Anzahl : 999999999
- E1BPACAP09 : Kreditorzeile
Status : Optional , min. Anzahl : 1 , max. Anzahl : 999999999
Status : Optional , min. Anzahl : 1 , max. Anzahl : 999999999
- E1BPACCR09 : Währungspositionen
Status : Optional , min. Anzahl : 1 , max. Anzahl : 999999999
Der generelle Aufbau ist wie folgt: Ein valides IDoc besteht aus genau einem Kopfsegment E1BPACHE09 und mindestens 2 Positionen. Die Positionen setzen sich jeweils aus einem Segment der Typen E1BPACGL09, E1BPACAP09 oder E1BPACAR09 mit jeweils einem korrespondierenden Betragssegment E1BPACCR09 zusammen. Die Verknüpfung zwischen den Belegpositionen und den Betragssegmenten erfolgt über das Feld ITEMNO_ACC (Positionsnummer).
Minimal-Beleg:
Belegkopf E1BPACHE09 |
Position 000001 Sachkontenzeile E1BPACGL09 oder Kreditorenzeile E1BPACAP09 oder Debitorenzeile E1BPACAR09 |
Position 000002 Sachkontenzeile E1BPACGL09 oder Kreditorenzeile E1BPACAP09 oder Debitorenzeile E1BPACAR09 |
Position 000001 Betragssegment E1BPACCR09 |
Position 000002 Betragssegment E1BPACCR09 |
Die Positionsnummern können im Prinzip beliebig vergeben werden, es empfiehlt sich jedoch, eine aufsteigende nummerische Positionsnummernvergabe vorzusehen.
Befüllung
Der oben beschriebene Minimalbeleg benötigt mindestens folgende Feldversorgungen:
E1BPACHE09
BUS_ACT RFBU (Vorgang fix)
USERNAME USERXYZ
HEADER_TXT KOPFTEXT (Belegkopftext, optional, sofern Belegart keine Eingabe erfordert)
COMP_CODE 1000 (Buchungskreis)
DOC_DATE 20150227 (Belegdatum)
PSTNG_DATE 20150227 (Buchungsdatum)
DOC_TYPE SA (Belegart)
REF_DOC_NO REFERENZ-NR (Referenznummer, optional, sofern Belegart keine Eingabe erfordert)
E1BPACGL09 (1. Position, Sachkontenposition)
ITEMNO_ACC 000010 (Positionsnummer)
GL_ACCOUNT 0000160000 (Sachkonto)
ITEM_TEXT BUCHUNGSTEXT (optional)
ALLOC_NMBR ZUORDNUNG (optional, ansonsten wird Zuordnung systemseitig gemäß Einstellung im Sachkontenstamm befüllt)
E1BPACGL09 (2. Position, Sachkontenposition)
ITEMNO_ACC 000020 (Positionsnummer)
GL_ACCOUNT 0000151000 (Sachkonto)
ITEM_TEXT BUCHUNGSTEXT (optional)
ALLOC_NMBR ZUORDNUNG (optional, ansonsten wird Zuordnung systemseitig gemäß Einstellung im Sachkontenstamm befüllt)
E1BPACCR09 (zu Position 1)
ITEMNO_ACC 000010
CURRENCY EUR (Belegwährung)
AMT_DOCCUR 10.00 (Betrag in Belegwährung)
E1BPACCR09 (zu Position 2)
ITEMNO_ACC 000020
CURRENCY EUR
AMT_DOCCUR 10.00-
(Achtung: Soll und Haben wird durch positiven bzw. negatives Vorzeichen unterschieden, - = Haben, + = Soll)
Besonderheit bei Buchung mit Umsatzsteuer
Im Gegensatz zum Batch-Input-Verfahren ist es mit dem Nachrichtentyp ACC_DOCUMENT (bzw. im Endeffekt mit dem dahinterliegenden BAPI_ACC_DOCUMENT_POST) nicht möglich, den Steueranteil einer Buchung vom System generieren zu lassen. D.h., die Steuerinformationen müssen dem IDoc auf folgende Weise mitgegeben werden:
Bei der Position, die die Steuer beinhaltet (i.d.R. die Sachkontenposition) wird der Betrag netto mitgegeben. Zusätzlich wird eine Steuerzeile des Segmenttyps E1BPACTX09 nebst Betragssegment (E1BPACCR09) mit folgenden Informationen benötigt:
E1BPACTX09
ITEMNO_ACC 000030
TAX_CODE V1 (Steuerkennzeichen)
E1BPACCR09
ITEMNO_ACC 000030
CURRENCY EUR
AMT_DOCCUR 1.60 (Steuerbetrag)
AMT_BASE 8.40 (Steuerbasis)
Beispiel:
Kreditorische Buchung
per Stromkosten 632500 8,40,-- an Kreditor 100003 10,--
Vorsteuer (V1) 1,60,--
Belegkopf E1BPACHE09:
BUS_ACT: RFBU
USERNAME: USERXYZ
HEADER_TXT: KOPFTEXT
COMP_CODE: 1000
DOC_DATE: 20150227
PSTNG_DATE: 20150227
DOC_TYPE: KR
REF_DOC_NO: 378455676
Kreditorenposition E1BPACAP09:
ITEMNO_ACC 000010
VENDOR_NO 0000100003 (Kreditorennummer)
Betragsposition zur Kreditorenposition E1BPACCR09
ITEMNO_ACC 000010
CURRENCY EUR
AMT_DOCCUR 10-
Sachkontenposition E1BPACGL09
ITEMNO_ACC 000020
GL_ACCOUNT 0000632500
ITEM_TEXT TESTBUCHUNG MIT STEUER
TAX_CODE V1 (Steuerkennzeichen!)
COSTCENTER 0000001000 (Kostenstelle, Konto 632500 ist Kostenart!)
Betragsposition zur Sachkontenposition E1BPACCR09
ITEMNO_ACC 000020
CURRENCY EUR
AMT_DOCCUR 8.40 (netto!)
Steuerzeile E1BPACTX09
ITEMNO_ACC 000030
TAX_CODE V1
Betragsposition zur Steuerzeile E1BPACCR09
ITEMNO_ACC 000030
CURRENCY EUR
AMT_DOCCUR 1.60 (Steuerbetrag)
AMT_BASE 8.40 (Steuerbasis)
Erzeugter Beleg inkl. Steuer