Statement and history export in ABO file format

From Barion Documentation
Revision as of 21:22, 11 January 2024 by [email protected] (talk | contribs) (remove warning of active development)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

About the file format

ABO is a file format for exchanging financial data mainly used in the Czech and Slovakian market.

It's a fixed-width format which is capable of importing transaction requests or exporting details of already completed transactions.

Usage in Barion

Barion only uses ABO for exporting past transactions either in daily statement generation or in the manual export of transaction history. Our format is based on the extended ABO format used by Česká spořitelna.

Structure

ABO files contain fixed-length fields and consist of two types of rows:

  • one header row (code 074)
  • zero or more transaction rows (code 075)

Header row

The header row is the first row in an ABO file and contains general information about the export in question and the account which's history is contained within.

Fields in header row

Detailed description of header row columns in ABO file
Number Name Length Description
1 Field code 3 Always contains string "074"
2 Account number of client 16 The unique alphanumeric identifier of the Barion account, case sensitive.
3 Client name 20 The name of the wallet to which the exported account belongs to.

The name is cut off after 20 characters and padded with spaces from the right if too short.

4 Date of opening balance 6 The date from which the export contains transactions in the account.
5 Opening balance 14 The opening balance of the account before the first exported transaction.
6 Sign of opening balance 1 -
7 Closing balance 14 The closing balance of the account after the last exported transaction.
8 Sign of closing balance 1 -
9 Sum of DEBIT transactions 14 The sum of all transactions that are categorized as DEBIT of DEBIT REVERSAL by the posting code.
10 Sign of sum of debit transactions 1 -
11 Sum of CREDIT transactions 14 The sum of all transactions that are categorized as CREDIT of CREDIT REVERSAL by the posting code.
12 Sign of sum of credit transactions 1 -
13 Statement sequence number 3 the serial number of this statement withing the ABO file, should always be "001".
14 Date of statement 6 The date on which this statement was generated.
15 Filler 14 Contains only whitespaces.

Summary fields

Fields (9-10) and (11-12) contain a summary of transactions based on the transaction categorization described in "Transaction categorization in ABO".

The opening balance and closing balance should relate to these summaries in the following way:

Closing balance = Opening balance - Debit summary + Credit summary

The daily statement export will always follow this rule, however it is possible that manual transaction exports will not as they can be filtered.

Transaction rows

Each transaction row provides details about a transaction in which the account mentioned in the header row is affected.

Fields in transaction rows

Detailed description of transaction row columns in ABO file
Number Name Length Description
1 Field code 3 Always contains string "075"
2 Client account number 16 The unique alphanumeric identifier of the Barion account, case sensitive.
3 Counter-account number 16 Not used by Barion
4 Document number 13 Not used by Barion
5 Transaction Amount 12 -
6 Posting code 1 See "Transaction categorization in ABO"
7 V-symbol 10 Not used by Barion
8 K-symbol 10 Not used by Barion
9 S-symbol 10 Not used by Barion
10 Date of Transaction 6 The date on which this transaction was completed.
11 Extra information 20 Contains the name of the Barion transaction type. Cut to 20 characters, padded from the right with spaces if needed.
12 Item change code 1 Not used by Barion
13 Data type 4 See "Data type field"
14 Due date 6 Not used by Barion as the export only contains past transactions
15 Message for payee #1 35 Free text message for the payee of this transaction

Treated as one field which is 140 characters long.

16 Message for payee #2 35
17 Message for payee #3 35
18 Message for payee #4 35
19 Message for payer 35 Not used by Barion
20 Debited on 6 Not used by Barion, filled with "010101"
21 Item 25 Not used by Barion
22 Reference 16 The short identifier of this transaction in the Barion system.
23 ISO transaction amount 15 -
24 ISO transaction currency 3 3-character ISO code of the transaction currency
25 Name of counter-account 35 The name belonging to the account on the other side of the transaction
26 Change rate of the transaction currency 11 Not used by Barion, always 1
27 Change rate of the account currency 11 Not used by Barion, always 1
28 V-symbol 2 10 Not used by Barion
29 Description of transaction #2 35 Contains the id of the payment as provided by the POS
30 Description of transaction #3 35 Contains the id of the transaction as provided by the POS
31 Description of transaction #4 35 Contains the id of the order as provided by the POS
32 SWIFT code of the bank of the counter-account #1 35 Not used by Barion
33 SWIFT code of the bank of the counter-account #1 35 Not used by Barion
34 Fee details #1 35 Not used by Barion
35 Fee details #2 35 Not used by Barion
36 Original transaction amount 35 Not used by Barion
37 - 35 -
38 Payer bank reference 35 Contains the bank authorization code of the transaction
39 SEPA info #1 35 Not used by Barion
40 SEPA info #2 35
41 SEPA info #3 35
42 CL fee type description 35 Not used by Barion
43 CL fee specification #1 35 Not used by Barion
44 CL fee specification #2 35
45 Payer note #1 35 Barion long identifier of transaction
46 Payer note #2 35 Barion long identifier of payment
47 Payer note #3 35 Not used by Barion
48 Payer note #4 35

Data type field

The data type field consists of 3 parts and takes up 4 characters:

  • the first character is always "1",
  • the second character is "1" of the transaction is in CZK and "2" otherwise
  • the third and fourth characters are "01" if the transaction lowers the account balance, "02" otherwise

Transaction categorization in ABO

In an ABO export, transactions are categorized into four categories with the following properties.

Transaction category details
Category name Posting code Contributes to summary in header Affects balance in direction
Debit 1 Debit summary (+) -
Credit 2 Credit summary (+) +
Debit reversal 3 Debit summary (-) +
Credit reversal 4 Credit summary (-) -

Formatting of fields

All

  • date fields are formatted as ddMMyy,
  • numeric fields representing money
    • contain the first n-2 characters as the whole part,
    • contain the last 2 characters are the decimal part,
    • and the field is padded from the left with "0" characters,
  • signs of money fields are either the character "+" or "-".

Exported files

In all cases when you export statements in ABO format, you will get a zip file which will contain a separate ABO file for every account that is included in the export. If there were no transactions for the given filters for an account, the file will only contain a header row and all money type fields (opening balance, closing balance, sum of credit, sum of debit) will be zeroed out with a positive sign.

ABO files have a ".gpc" extension and Barion creates UTF-8 encoded files.