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:
- Fetch file from Bankgirot and upload to Chatter.
- Parse and extract file content into transaction sets and transactions.
- Match, update and enrich payment data through Guided Matching.
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.
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 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 Record | BGMax Field | FinDock Object | FinDock Field |
---|---|---|---|
Deposit record | Payee bank account number | Transaction Set | Bank Account Number |
Opening record | Currency | Transaction Set | Currency |
Deposit record | Payment date | Transaction Set | From Date |
Deposit record | Payment date | Transaction Set | To Date |
Payment/Deduction record or Extra reference number record | Sender-Bankgiro number | Transaction | Bank Account Number |
Payment/Deduction record or Extra reference number record | Reference | Transaction | Payment Reference |
Payment/Deduction record or Extra reference number record | Payment amount | Transaction | Amount |
Payment/Deduction record or Extra reference number record | BGC serial number | Transaction | End To End Id |
Name record | Payer's name | Transaction | Account Holder Name |
Address record 1 | Payer's address | Transaction | Address Line 1 |
Address record 1 | Payer’s postcode | Transaction | Postalcode |
Address record 2 | Payer's town | Transaction | City |
Address record 2 | Payer's country | Transaction | Country |
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.