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:
- Ermittelt die Datenbankwährung (Hauswährung) über
pixi.GetDatabaseCurrency(). Das ist die Währung, deren Code der EinstellungHomeCurrencyentspricht und die als Basiswährung gekennzeichnet ist. - Ist
SourceTypeNULLoder leer, wirdAPIverwendet. - Legt einen neuen Datensatz in
BankHeadermitSourceType, der aktuellen Serverzeit alsBankImportDateundBankFileNamean. - Legt einen Datensatz in
BankLinesan, der auf den neuen Kopfsatz verweist:BankDate=BankDate.BookDate= Monat und Tag vonBankDateals vierstellige ZeichenketteMMDD(z. B.0315).BusinessCodeist immer051.BankCode=BLZ,AccountNr,CustomerName,BankText01–BankText03,ParsedBIC=BIC,ParsedIBAN=IBAN,AccountingBankAccount.CurrencyId=CurrencyIdbzw. die Datenbankwährung, wennCurrencyIdnicht angegeben ist.
- Liefert eine Zeile mit dem neuen
BankHeaderKeyundBanklineKey.
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
BankLinesfehl, bleibt der bereits angelegteBankHeader-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,AccountNrundCustomerNamehaben keinen Standardwert und müssen im Request enthalten sein (sie dürfen leer bzw.NULLsein, soweit die Tabelle dies zulässt).- Ist
BankDateNULL, ist auchBookDateNULL. - Wird keine Währung zur Einstellung
HomeCurrencygefunden undCurrencyIdnicht übergeben, wirdCurrencyIdalsNULLgespeichert. BLZundAccountNrsindchar-Parameter und werden mit Leerzeichen aufgefüllt;SourceTypeist auf 3 Zeichen begrenzt.BanklineKeystammt ausSCOPE_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 Beispiel: |
BankDate
Pflicht
|
datetime dateTime |
– |
Datum der Kontobewegung. Daraus wird auch Beispiel: |
BankAmount
Pflicht
|
money decimal |
– |
Betrag der Kontobewegung. Beispiel: |
BankText01
Pflicht
|
varchar(1024) string |
– |
Erste Zeile des Verwendungszwecks bzw. Buchungstexts. Beispiel: |
BankText02
Pflicht
|
varchar(1024) string |
– |
Zweite Zeile des Verwendungszwecks bzw. Buchungstexts. Beispiel: |
BankText03
Pflicht
|
varchar(1024) string |
– |
Dritte Zeile des Verwendungszwecks bzw. Buchungstexts. |
BLZ
Pflicht
|
char(11) string |
– |
Bankleitzahl des Auftraggebers; wird in Beispiel: |
AccountNr
Pflicht
|
char(24) string |
– |
Kontonummer des Auftraggebers. Beispiel: |
CustomerName
Pflicht
|
varchar(60) string |
– |
Name des Kontoinhabers bzw. Zahlers. Beispiel: |
BIC
|
varchar(50) string |
NULL |
BIC des Auftraggebers; wird in Beispiel: |
IBAN
|
varchar(150) string |
NULL |
IBAN des Auftraggebers; wird in Beispiel: |
AccountingBankAccount
|
varchar(250) string |
NULL |
Eigenes Bankkonto (Buchhaltungskonto), zu dem die Kontobewegung gehört. Beispiel: |
SourceType
|
varchar(3) string |
API |
Quelltyp, der in Beispiel: |
CurrencyId
|
smallint int |
NULL |
Id der Währung des Betrags. Bei Beispiel: |
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 |
BanklineKey
Kann leer sein |
numeric(38,0) decimal |
Schlüssel des neuen |
Beispielantwort
<SqlRowSet1>
<row>
<BankHeaderKey>1523</BankHeaderKey>
<BanklineKey>48211</BanklineKey>
</row>
</SqlRowSet1>
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>
curl -X POST 'https://apigateway.descartes.com/tms/pixi/' \
--user 'USERNAME:PASSWORD' \
--header 'Content-Type: text/xml; charset=utf-8' \
--data-binary @- <<'XML'
<?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>
XML
<?php
$soapClient = new SoapClient(null, [
'login' => 'USERNAME',
'password' => 'PASSWORD',
'location' => 'https://apigateway.descartes.com/tms/pixi/',
'uri' => 'https://apigateway.descartes.com/tms/pixi/',
]);
$arguments = [
'BankFileName' => 'shop-payments-2024-03-15.csv',
'BankDate' => '2024-03-15T00:00:00',
'BankAmount' => '149.90',
'BankText01' => 'Order 100234',
'BankText02' => 'Invoice RE-2024-0815',
'BankText03' => '?',
'BLZ' => '37040044',
'AccountNr' => '0532013000',
'CustomerName' => 'Max Mustermann',
// 'BIC' => 'COBADEFFXXX',
// 'IBAN' => 'DE89370400440532013000',
// 'AccountingBankAccount' => '1200',
// 'SourceType' => 'API',
// 'CurrencyId' => '1',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiCreateBankline', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiCreateBankline