Skip to main content

Processing BGMax files

The BGMax file format is used in Sweden to report Bankgiro Inbetalningar (Bankgiro Receivables) payments processed through Bankgirot. A single file can contain one or more sections, and each section can contain one or more records which use an 80-character layout.

note

BGMax files can have accompanying images of payment slips. Handling these images is currently not supported by FinDock.

BGMax reconciliation process

FinDock automatically polls the Bankgirot file transfer service for new BGMax files. When a file is received, it is first parsed by ProcessingHub into transaction sets and transactions. Matching is then carried out through Guided Matching managed (and custom) rules.

The overall flow is illustrated below with three basic steps:

  1. Fetch file from Bankgirot and upload to Chatter.
  2. Parse and extract file content into transaction sets and transactions.
  3. Match, update and enrich payment data through Guided Matching.

Processing flow for BGMax

Targets for BGMax processing

For each originating bank account of your BGMax files, you need to configure a target. The target includes the SFTP account details from where FinDock fetches the files.

When creating targets for BGMax processing, you need to use the following configuration:

  • Target type: Sweden-for-FinDock
  • Target subtype: Bankgirot
  • Append Length Digit To OCR Reference: set according to your Bankgirot process specifications
  • OCR Reference Length: set according to your Bankgirot process specifications
  • Bank account number: your account number as it appears in your BGMax files (Payee bank account number)
  • Duplicate Bankgirot file protection: enable (recommended)

BGMax file structure

A single BGMax file can result in multiple transaction sets and transactions. The file structure itself is fixed, but with some variability in record number and scope. The basic structure is illustrated below.

BGMax file structure

The BGMax file always begins with an Opening Record and ends with an End Record. Between these two blocks there can be one or more Section blocks. A section always starts with one Opening Record and concludes with a Deposit Record. There must be at least one Section block, but a single file can contain multiple sections.

Within the Section block, there is always one or more Payment (Deduction) blocks. Each of these in turn always contains one Payment/Deduction record and a number of optional records as indicated by the dashed blocks above.

When ProcessingHub parses a BGMax file, each Section block defines a Transaction Set record, and each Payment (Deduction) block becomes a Transaction record related to that transaction set-

BGMax to Transaction Set and Transaction

BGMax Transaction record creation

Based on the Transaction Code (first two characters), ProcessingHub identifies the type of record the line represents- If a Payment or Deduction record is identified, ProcessingHub checks for any associated Extra reference number child records.

  • If an Amount field is present in one of the Extra reference number child records, ProcessingHub creates Transaction records as follows:
  • If an amount is specified, ProcessingHub creates Transaction records from each child record entry. If an amount is not specified, Transaction records are created based on the parent Payment or Deduction record.

In all cases of Transaction creation, details from Address record 1 and Address record 2 are taken from the Payment Deduction parent record. When transactions are created based on the Extra reference number record, ProcessingHub associates and reports address details of the parent record in the Raw XML Entry field of the resulting transactions.

info

If ProcessingHub creates a Transaction record based on the child record, ProcessingHub does not report the parent line in the Raw XML Entry field.

BGMax field mapping for payments

The following table outlines the mapping between BGMax fields for payments and fields on Transaction Set and Transaction.

BGMax RecordBGMax FieldFinDock ObjectFinDock Field
Deposit recordPayee bank account numberTransaction SetBank Account Number
Opening recordCurrencyTransaction SetCurrency
Deposit recordPayment dateTransaction SetFrom Date
Deposit recordPayment dateTransaction SetTo Date
Payment/Deduction record or Extra reference number recordSender-Bankgiro numberTransactionBank Account Number
Payment/Deduction record or Extra reference number recordReferenceTransactionPayment Reference
Payment/Deduction record or Extra reference number recordPayment amountTransactionAmount
Payment/Deduction record or Extra reference number recordBGC serial numberTransactionEnd To End Id
Name recordPayer's nameTransactionAccount Holder Name
Address record 1Payer's addressTransactionAddress Line 1
Address record 1Payer’s postcodeTransactionPostalcode
Address record 2Payer's townTransactionCity
Address record 2Payer's countryTransactionCountry

Extending BGMax processing with Guided Matching

Out of the box, FinDock extracts the information from BGMax files required to update payment records in Salesforce. However, the files may contain more information that you would also like to use.

Using Guided Matching, you can do just about anything you want with the information in the BGMax file. You can also create rules that extend the logic of the already parsed data on Transaction Set and Transaction records.