Postman-Collection
Payments Schreiben

pixiCreateBankline

Legt einen neuen Bank-Kopfsatz mit genau einer Bankzeile (Kontobewegung) an und liefert die Schlüssel beider Datensätze.

Importiert eine einzelne Kontobewegung in Pixi, z. B. für den späteren Abgleich mit Aufträgen oder Rechnungen.

Ablauf:

  1. Ermittelt die Datenbankwährung (Hauswährung) über pixi.GetDatabaseCurrency(). Das ist die Währung, deren Code der Einstellung HomeCurrency entspricht und die als Basiswährung gekennzeichnet ist.
  2. Ist SourceType NULL oder leer, wird API verwendet.
  3. Legt einen neuen Datensatz in BankHeader mit SourceType, der aktuellen Serverzeit als BankImportDate und BankFileName an.
  4. Legt einen Datensatz in BankLines an, der auf den neuen Kopfsatz verweist:
    • BankDate = BankDate.
    • BookDate = Monat und Tag von BankDate als vierstellige Zeichenkette MMDD (z. B. 0315).
    • BusinessCode ist immer 051.
    • BankCode = BLZ, AccountNr, CustomerName, BankText01–BankText03, ParsedBIC = BIC, ParsedIBAN = IBAN, AccountingBankAccount.
    • CurrencyId = CurrencyId bzw. die Datenbankwährung, wenn CurrencyId nicht angegeben ist.
  5. Liefert eine Zeile mit dem neuen BankHeaderKey und BanklineKey.

Jeder Aufruf erzeugt einen eigenen Bank-Kopfsatz; weitere Zeilen können über diesen Aufruf nicht an einen bestehenden Kopfsatz angehängt werden.

Hinweise

  • Es wird keine explizite Transaktion verwendet. Schlägt das Einfügen in BankLines fehl, bleibt der bereits angelegte BankHeader-Datensatz ohne Zeilen bestehen.
  • Es findet keine Prüfung statt: Dubletten werden nicht erkannt, IBAN/BIC werden nicht validiert, das Vorzeichen des Betrags wird unverändert übernommen.
  • BankFileName, BankDate, BankAmount, BankText01–BankText03, BLZ, AccountNr und CustomerName haben keinen Standardwert und müssen im Request enthalten sein (sie dürfen leer bzw. NULL sein, soweit die Tabelle dies zulässt).
  • Ist BankDate NULL, ist auch BookDate NULL.
  • Wird keine Währung zur Einstellung HomeCurrency gefunden und CurrencyId nicht übergeben, wird CurrencyId als NULL gespeichert.
  • BLZ und AccountNr sind char-Parameter und werden mit Leerzeichen aufgefüllt; SourceType ist auf 3 Zeichen begrenzt.
  • BanklineKey stammt aus SCOPE_IDENTITY() und wird daher als Dezimalwert geliefert.

Parameter

Parameter Typ Standardwert Beschreibung
BankFileName
Pflicht
varchar(1024)
string
–

Name der Bankdatei bzw. Quelle der Kontobewegung; wird in BankHeader.BankFileName gespeichert.

Beispiel: shop-payments-2024-03-15.csv

BankDate
Pflicht
datetime
dateTime
–

Datum der Kontobewegung. Daraus wird auch BookDate (Format MMDD) abgeleitet.

Beispiel: 2024-03-15T00:00:00

BankAmount
Pflicht
money
decimal
–

Betrag der Kontobewegung.

Beispiel: 149.90

BankText01
Pflicht
varchar(1024)
string
–

Erste Zeile des Verwendungszwecks bzw. Buchungstexts.

Beispiel: Order 100234

BankText02
Pflicht
varchar(1024)
string
–

Zweite Zeile des Verwendungszwecks bzw. Buchungstexts.

Beispiel: Invoice RE-2024-0815

BankText03
Pflicht
varchar(1024)
string
–

Dritte Zeile des Verwendungszwecks bzw. Buchungstexts.

BLZ
Pflicht
char(11)
string
–

Bankleitzahl des Auftraggebers; wird in BankLines.BankCode gespeichert.

Beispiel: 37040044

AccountNr
Pflicht
char(24)
string
–

Kontonummer des Auftraggebers.

Beispiel: 0532013000

CustomerName
Pflicht
varchar(60)
string
–

Name des Kontoinhabers bzw. Zahlers.

Beispiel: Max Mustermann

BIC
varchar(50)
string
NULL

BIC des Auftraggebers; wird in BankLines.ParsedBIC gespeichert.

Beispiel: COBADEFFXXX

IBAN
varchar(150)
string
NULL

IBAN des Auftraggebers; wird in BankLines.ParsedIBAN gespeichert.

Beispiel: DE89370400440532013000

AccountingBankAccount
varchar(250)
string
NULL

Eigenes Bankkonto (Buchhaltungskonto), zu dem die Kontobewegung gehört.

Beispiel: 1200

SourceType
varchar(3)
string
API

Quelltyp, der in BankHeader.SourceType gespeichert wird. NULL oder eine leere Zeichenkette wird durch API ersetzt.

Beispiel: API

CurrencyId
smallint
int
NULL

Id der Währung des Betrags. Bei NULL wird die Datenbankwährung (Hauswährung) verwendet.

Beispiel: 1

Antwort

Result-Set 1 · Bei Erfolg

Schlüssel des neu angelegten Bank-Kopfsatzes und der Bankzeile.

Spalte Typ Beschreibung
BankHeaderKey int

Schlüssel des neuen BankHeader-Datensatzes.

BanklineKey
Kann leer sein
numeric(38,0)
decimal

Schlüssel des neuen BankLines-Datensatzes (Wert von SCOPE_IDENTITY()).

Beispiele

POST https://apigateway.descartes.com/tms/pixi/
Content-Type: text/xml; charset=utf-8
Authorization: Basic BASE64(USERNAME:PASSWORD)

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://apigateway.descartes.com/tms/pixi/">
  <SOAP-ENV:Body>
    <ns1:pixiCreateBankline>
      <BankFileName>shop-payments-2024-03-15.csv</BankFileName>
      <BankDate>2024-03-15T00:00:00</BankDate>
      <BankAmount>149.90</BankAmount>
      <BankText01>Order 100234</BankText01>
      <BankText02>Invoice RE-2024-0815</BankText02>
      <BankText03>?</BankText03>
      <BLZ>37040044</BLZ>
      <AccountNr>0532013000</AccountNr>
      <CustomerName>Max Mustermann</CustomerName>
      <!-- <BIC>COBADEFFXXX</BIC> -->
      <!-- <IBAN>DE89370400440532013000</IBAN> -->
      <!-- <AccountingBankAccount>1200</AccountingBankAccount> -->
      <!-- <SourceType>API</SourceType> -->
      <!-- <CurrencyId>1</CurrencyId> -->
    </ns1:pixiCreateBankline>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

BankHeader · Schreiben BankLines · Schreiben Currency · Lesen Settings · Lesen
SQL-Objekt:
dbo.pipiCreateBankline
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben