Processing BGMax files

   BGMax processing is in beta.

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.

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 files

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 if not testing)
  • Image Option: images from Bankgirot use TIFF format, so if you want to preview them in Salesforce, enter "png" or "both"

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.

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

Paper-based payment image handling

Files from Bankgirot may contain images of paper-based payments. The images use TIFF format and include multiple pages, each page representing a single transaction.

FinDock automatically splits multi-page images into single-page image files and assigns each image a unique name. The name is a concatenated value using the DocumentName and PageName metadata of the image. DocumentName represents the Bankgiro number of the target bank account, and PageName represents the BGC Serial Number of the payment.

Example:

DocumentName = 12345678
PageName = 23123123
Image filename = 12345678-23123123-x.tiff

By default, the split image files are attached to the corresponding Transaction records in their original TIFF format. However, you can modify this behavior with the Image Option target setting.

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.

Was this page helpful?