Export IBM-Finanzwesen

 

Hauptmenü  Abschlussarbeiten  DATEV / Import / Export  Export  Variante Belegexport IBM Finanzwesen

Direktsprung [FIEX]

 

Dem Export von Belegen aus der A.eins-Finanzbuchhaltung in das IBM-Finanzwesen (kurz FW) liegt eine Auswahlliste zugrunde, die die Daten in der Form bereitstellt, in der sie von der Importschnittstelle des FW erwartet werden. Dies hat den Vorteil, dass Änderungen im FW kurzfristig nachgearbeitet werden können. Zusätzlich zu den reinen OPs können auch noch die Kunden- bzw. Lieferantendaten und deren Anschriften exportiert werden. Dazu müssen folgende private SQLK’s eingerichtet werden:

DumpLiefData

DumpLiefAdrData

DumpKundData

DumpKundAdrData

Ob das Personenkonto als Kundenkonto oder als Lieferantenkonto betrachtet wird, geschieht über das Feld Kundtyp der Auswahlliste. Kundtyp=2 ist dann Kunde und alles andere ist Lieferant. Genauer Beschreibung zu den SQLK’s siehe Satzaufbau

Startet man den Export wird zuerst der Pfad und Dateiname abgefragt Vorgeschlagen wird bei ersten Mal das Verzeichnis „..\Export“ und der Dateiname „FibuExport.txt“. Der Ausgewählte Pfad und Dateiname wird zwischengespeichert und bei der nächsten Verwendung dieses Programmteils wieder vorgeschlagen.

Achtung:

Der Dateiname wird zusätzlich mit der Nummer versehen, die im Fibuvorgstamm im Feld FiBuV_ExportIdent hinterlegt wird. Wenn man also EXPORT.TXT als Dateinamen angibt, wird der Name um die Nummer (z.B. 4377) erweitert, so dass der Dateiname EXPORT_4377.TXT lautet.

 

Nach erfolgreichem Export erscheint folgende Meldung:

 

Satzaufbau

Die Daten sind durch Komma getrennt und stehen in Hochkomma. Die Daten bestehen aus einem Vorsatz  gefolgt von den eigentlichen Daten. Sie haben zurzeit folgende Struktur:

Vorsatz:

Nr.

Name

Typ

Max. Länge

NK

Hinweis

0

Satzart

A

7

 

AF1BA1

1

Firmennummer

N

2

 

Aus Mandantenstamm

2

Satzidentifikation

A

20

 

Leer

3

Kurzbezeichnung

A

20

 

Fest ‚Export’

4

Belegdatum

D

 

 

Datum VSBDATUM aus der Auswahlliste

5

Textzeile 1

A

30

 

Leer

6

Textzeile 2

A

30

 

Leer

7

Textzeile 3

A

30

 

Leer

8

Textzeile 4

A

30

 

Leer

 

Buchungen:

Nr.

Name

Typ

Max. Länge

NK

Hinweis

0

Satzart

A

7

 

AF1BG1

1

Firmennummer

N

2

 

Aus Mandantenstamm

2

Satzidentifikation

A

20

 

Leer

3

Belegnummer

N

7

 

 

4

Belegdatum

D

 

 

 

5

Konto Soll

N

12

 

 

6

Konto Haben

N

12

 

 

7

Betrag

N

13

2

 

8

Steuer

A

3

 

Muss umgesetzt werden. S.u.

9

OP-Nummer

N

7

 

 

10

Fremdbeleg

A

20

 

 

11

Menge

N

13

4

Immer 0

12

Textschlüssel

A

3

 

Wird z.Zt. nicht versorgt

13

Text Zeile 1

A

30

 

 

14

Text Zeile 2

A

30

 

 

15

Zahlungsbedingung

A

3

 

Muss umgesetzt werden. S.u.

16

Fällig Netto

D

 

 

 

17

Betrag Skonto 1

N

13

2

 

18

Fällig Skonto 1

D

 

 

 

19

Betrag Skonto 2

N

13

2

Wird nicht versorgt

20

Fällig Skonto 2

D

 

 

Wird nicht versorgt

21

Kostenstelle

A

20

 

 

22

Kostenträger

A

20

 

Wird nicht versorgt

23

Ust-IdNr.

A

15

 

 

24

Ust-Id-Konto

N

12

 

 

25

ZM-Hinweis

A

1

 

Wird nicht versorgt

26

Betrag

N

13

2

 

27

Währung

A

3

 

 

 

Kundenkennzeichen ( SQLK DumpKundData ):

Nr.

Name

Typ

Max. Länge

NK

Hinweis

0

Satzart

A

5

 

AF1K1

1

Firmennummer

N

2

 

Aus Mandantenstamm

2

Kundennummer

N

12

 

SQLK : IBMNummer

3

Bezeichnung

A

30

 

SQLK : KundBezeich

4

Kurzbezeichnung

A

15

 

SQLK : KundMatch

5

Interner Hinweis

A

30

 

Nicht FW

6

Interner Hinweis

A

30

 

Nicht FW

7

Interner Hinweis

A

30

 

Nicht FW

8

Interner Hinweis

A

30

 

Nicht FW

9

Zahlungsbedingung

A

3

 

SQLK : ZBED

10

Lieferbedingung

A

3

 

Nicht FW

11

Lieferantennummer

A

20

 

SQLK : FremdNummer

12

Rechnungsrabatt

N

5

2

Nicht FW

13

Steuerpflicht

A

1

 

Nicht FW

14

EU Land

A

2

 

Nicht FW

15

UST-IdNr

A

15

 

SQLK : KundUstStatKennz

16

Buchungskennz.

A

2

 

Nicht FW

17

Preisliste

N

1

 

Nicht FW

18

Rechnungsempf.

N

7

 

Nicht FW

19

Auftragssperre

A

1

 

Nicht FW

20

LieferSperre

A

1

 

Nicht FW

21

Sortierfeld 1 Bez.

A

30

 

Wird nicht versorgt

22

Sortierfeld 1

A

20

 

Wird nicht versorgt

23

Sortierfeld 2 Bez.

A

30

 

Wird nicht versorgt

24

Sortierfeld 2

A

20

 

Wird nicht versorgt

25

Sortierfeld 3 Bez.

A

30

 

Wird nicht versorgt

26

Sortierfeld 3

A

20

 

Wird nicht versorgt

27

Sortierfeld 4 Bez.

A

30

 

Wird nicht versorgt

28

Sortierfeld 4

A

20

 

Wird nicht versorgt

29

KontoArt

A

10

 

SQLK : KontoArt

30

Mahnungstyp

A

3

 

SQLK : Mahnungtyp

31

Mahnsperre

A

1

 

SQLK: MahnSperre

( J = gesperrt, N = nicht gesp.)

32

Kreditlimit

N

13

2

SQLK : KundKredit

33

Währung

A

3

 

SQLK : Waehrung

Für Kreditlimit z.B. DEM,EUR

 

Das SQLK könnte folgendermaßen aussehen:

select IBMNummer,

       KundBezeich,

       (select first(KundMatch)

               from   KundenMatchCode

               where KundId = k.kundid) as KundMatch,

       KundUstStatKennz,

       '???' ZBED,

       '????????????????????' LiefNummer,

       '??????????' KontoArt,

       '???' MahnungTyp,

       if KundMahnSperr=1 then 'J' else 'N' endif MahnSperre,

       KundKredit,

       (select WaehrIsoBezeich

               from Waehrungsstamm

               where Waehrnummer = k.Waehrnummer) Waehrung

from temp_IBMDebitor i, Kundenstamm k where i.kundid=k.kundid

temp_IBMDebitor enthält alle in den Belegen vorkommenden Kunden exakt einmal. Die IBMNummer kommt aus der Auswahlliste.

 

Kundenadressdaten (SQLK DumpKundAdrData):

Nr.

Name

Typ

Max. Länge

NK

Hinweis

0

Satzart

A

5

 

AF1K2

1

Firmennummer

N

2

 

Aus Mandantenstamm

2

Kundennummer

N

12

 

SQLK : IBMNummer

3

Adressart

A

1

 

 

4

Anrede

A

30

 

 

5

Name1

A

30

 

 

6

Name2

A

30

 

 

7

Name3

A

30

 

 

8

Strasse

A

30

 

 

9

Land

A

3

 

 

10

PLZ

A

8

 

 

11

Ort

A

30

 

 

12

Zusatz

A

30

 

 

13

Telefon

A

20

 

 

14

Telefax

A

20

 

 

 

Im SQLK heißen alle Felder wie der Name: Das SQLK könnte folgendermaßen aussehen:

select IBMNummer,

       '' AdressArt,

       AdressAnrede Anrede,

       AdressName Name1,

       AdressVorName Name2,

       '' Name3,

       AdressStrasse Strasse,

       '' Land,

       AdressPLZ1 PLZ,

       AdressOrt Ort,

       AdressZeile1 Zusatz,

       AdressTelefon Telefon,

       AdressTelefax Telefax

from temp_IBMDebitor i, Kundenstamm k, Anschriftstamm a

where i.kundid   = k.kundid

  and a.AdressId = k.AdressIdHauptAdr

temp_IBMDebitor enthält alle in den Belegen vorkommenden Kunden exakt einmal. Die IBMNummer kommt aus der Auswahlliste.

 

Lieferantendaten ( SQLK DumpLiefData):

Nr.

Name

Typ

Max. Länge

NK

Hinweis

0

Satzart

A

5

 

AF1L1

1

Firmennummer

N

2

 

Aus Mandantenstamm

2

Lieferantennummer

N

12

 

SQLK : IBMNummer

3

Bezeichnung

A

30

 

SQLK : KundBezeich

4

Kurzbezeichnung

A

15

 

SQLK : KundMatch

5

Interner Hinweis

A

30

 

Nicht FW

6

Interner Hinweis

A

30

 

Nicht FW

7

Interner Hinweis

A

30

 

Nicht FW

8

Interner Hinweis

A

30

 

Nicht FW

9

Zahlungsbedingung

A

3

 

SQLK : ZBED

10

Lieferbedingung

A

3

 

Nicht FW

11

Fremdkundennr.

A

20

 

SQLK : FremdNummer

12

Rechnungsrabatt

N

5

2

Nicht FW

13

Steuerpflicht

A

1

 

Nicht FW

14

UST-IdNr

A

15

 

SQLK : KundUstStatKennz

15

Buchungskennz.

A

2

 

Nicht FW

16

Preisliste

N

1

 

Nicht FW

17

Rechnungsempf.

N

7

 

Nicht FW

18

Sortierfeld 1 Bez.

A

30

 

Wird nicht versorgt

19

Sortierfeld 1

A

20

 

Wird nicht versorgt

20

Sortierfeld 2 Bez.

A

30

 

Wird nicht versorgt

21

Sortierfeld 2

A

20

 

Wird nicht versorgt

22

Sortierfeld 3 Bez.

A

30

 

Wird nicht versorgt

23

Sortierfeld 3

A

20

 

Wird nicht versorgt

24

Sortierfeld 4 Bez.

A

30

 

Wird nicht versorgt

25

Sortierfeld 4

A

20

 

Wird nicht versorgt

26

Leeres Feld

A

 

 

 

27

Leeres Feld

A

 

 

 

28

Leeres Feld

A

 

 

 

29

KontoArt

A

10

 

SQLK : KontoArt

30

Zahlungstyp

A

3

 

SQLK : Zahlungtyp

31

Zahlsperre

A

1

 

SQLK: ZahlSperre

( J = gesperrt, N = nicht gesp.)

32

Kreditlimit

N

13

2

SQLK : KundKredit

33

Währung

A

3

 

SQLK : Waehrung

Für Kreditlimit z.B. DEM,EUR

 

Das SQLK könnte folgendermaßen aussehen:

select IBMNummer,

       KundBezeich,

       (select first(KundMatch)

               from  KundenMatchCode

               where KundId = k.kundid) as KundMatch,

       KundUstStatKennz,

       '???' ZBED,

       '????????????????????' FremdNummer,

       '??????????' KontoArt,

       '???' ZahlungTyp,

       if KundZahlSperr=1 then 'J' else 'N' endif ZahlSperre,

       KundKredit,

       (select WaehrIsoBezeich

               from Waehrungsstamm

               where Waehrnummer = k.Waehrnummer) Waehrung

from temp_IBMKreditor i, Kundenstamm k where i.kundid=k.kundid

temp_IBMKreditor enthält alle in den Belegen vorkommenden Lieferanten exakt einmal. Die IBMNummer kommt aus der Auswahlliste.

 

Lieferantenadressdaten (SQLK DumpLiefAdrData):

Nr.

Name

Typ

Max. Länge

NK

Hinweis

0

Satzart

A

5

 

AF1K2

1

Firmennummer

N

2

 

Aus Mandantenstamm

2

Kundennummer

N

12

 

SQLK : IBMNummer

3

Adressart

A

1

 

 

4

Anrede

A

30

 

 

5

Name1

A

30

 

 

6

Name2

A

30

 

 

7

Name3

A

30

 

 

8

Strasse

A

30

 

 

9

Land

A

3

 

 

10

PLZ

A

8

 

 

11

Ort

A

30

 

 

12

Zusatz

A

30

 

 

13

Telefon

A

20

 

 

14

Telefax

A

20

 

 

 

Im [SQLK] heißen alle Felder wie der Name: Das [SQLK] könnte folgendermaßen aussehen:

select IBMNummer,

       '' AdressArt,

       AdressAnrede Anrede,

       AdressName Name1,

       AdressVorName Name2,

       '' Name3,

       AdressStrasse Strasse,

       '' Land,

       AdressPLZ1 PLZ,

       AdressOrt Ort,

       AdressZeile1 Zusatz,

       AdressTelefon Telefon,

       AdressTelefax Telefax

from temp_IBMKreditor i, Kundenstamm k, Anschriftstamm a

where i.kundid   = k.kundid

  and a.AdressId = k.AdressIdHauptAdr

temp_IBMKreditor enthält alle in den Belegen vorkommenden Kunden exakt einmal. Die IBMNummer kommt aus der Auswahlliste.

 

Umsetzen Zahlungsbedingung und Steuer

Die Werte für Steuer (8) und Zahlungsbedingung (15) müssen umgeschlüsselt werden, damit das IBM-Finanzwesen die korrekten Daten bekommt. Dabei werden die Werte für die Zahlungsbedingung in der schon aus dem Importverfahren bekannten Umsetzungstabelle (Direktsprung IMPUM) gepflegt. Hier ist die Schlüsselklasse 900 für vorgesehen.

Die Schlüssel für die Steuer werden im Steuersatzpfleger hinterlegt. Dort gibt es ein Feld Exportschlüssel, das dafür vorgesehen ist.

Es bleibt einem jedoch überlassen, sich eine private Ableitung zu bilden und die Zahlungsbedingung bzw. Steuer anders zu bestimmen.