Coins ERP+ provides several standard BACS file formats which produce BACS files according to the requirements of various different banks. If none of these formats is suitable, you can configure the format of the BACS output file.
Note: Configurable BACS definitions are only available in Coins ERP+, for Purchase Ledger, Subcontract Ledger and Payroll payments (and will work for Coins ERP+plus Payroll).
To configure a BACS file:
Go to BACS File Definition.
BACS File Definition Browse
You can export and import BACS file configurations using Export Document Definitions and Import Document Definition.
Add a new definition record.
The BACS file can be:
fixed-width (in which fields begins at the same position on each record)
delimited (in which fields are separated by a specific character, such as a comma)
XML
The file consists of:
a body, which contains a line for each transaction,
an optional detail form, which is placed after each body line and can contain details from the payment or invoice record associated with the transaction,
an optional header and footer, which contain the content at the beginning and end of the file.
Specify the codes you want to use for each of these. These codes are used when setting up the fields, to identify which section each field belongs to.
BACS File Definition β Add New Definition
Click Save (
).
On the Fields tab, add records for each field.
BACS File Definition β Fields
A number of tokens are available (see table below). Coins ERP+ will replace the tokens with the appropriate data from the module in which the BACS file is generated (for example, in Subcontract Ledger, the recipients will be subcontractors, in Expenses the recipients will be employees).
To use other fields that are not available as tokens, enter the field name. The tables that are available depend on the module:
All modules: bank, co_bank.
PR: employee.
PL: ap_vendor, ap_invoice, ap_pay, ap_check.
SC: sc_mast, sc_check, sc_pay, sc_certificate.
LM: pp_person lm_invoice lm_check.
If you need to include different fields depending on the module, create different file definitions - one for each module - using the appropriate fields.
To use text that is the same every time the file is generated, enter the text in the Text field.
You can use Mappings to convert codes from Coins ERP+ to the codes required by the bank. You can also use calculations to convert and process the data.
XML files can contain blocks of XML code, with tokens inserted using curly brackets { }.
To format fields correctly, or concatenate multiple fields, you can include a form in curly brackets { }. For example, the form CreDtTm contains two field tokens, jCreate and cTime.
These two fields are used on the HEAD form (by specifying {FORM:CreDtTm}), and concatenated to include date and time in the format YYYY-MM-DDTHH:MM:SS.
Enter the code for the BACS file definition as the value of the BACSMED parameter in each module you want to use it in.
Configurable BACS File Field Tokens
The following field tokens are available:
|
| Header / Footer |
iKco | Coins ERP+company | Integer |
cBnk | Coins ERP+ bank code | Character |
cSector | Sector from which the payment is made. | Character |
cMod | Module from which the file is generated | Character |
cBacsCur | Currency from CO/BACS-CUR parameter - no longer used. | Character |
cBacsApplic | BACS application text (second entry in BACSMED parameter) | Character |
iBacsUser | Payer's BACS ID (from BACSUSER parameter) | Integer |
cBacsName | Payer's BACS name (from BACSUSER parameter) | Character |
jProcDate | Processing date | Date |
jCreate | The date the file is created | Date |
cTime | The time the file is created | Character |
cBacsUser |
| Character |
cSub | Submission number - entered at runtime | Character |
cNarr | Bank statement narrative - entered at runtime | Character |
cPWD | Password - entered at runtime | Character |
dBacsTot | Total value of BACS transactions in the file | Decimal |
iBacsCnt | Number of transactions in the file | Integer |
iHSeqNo | Header Sequence for each file sent; this is unique to each module and is incremented each time | Integer |
|
| Body |
cNum | Recipient's code | Character |
cName | Recipient's name | Character |
cSupAdd | Recipient's address (4 lines) | Character, extent 4 |
cSupPcode | Recipient's postcode | Character |
cSupBankName | Recipient's bank account name | Character |
cSupBranchname | Recipient's bank branch | Character |
cSupBAdd | Recipient's bank address (4 lines) | Character, extent 4 |
cSupBPostcode | Recipient's bank postcode | Character |
cPayeen | Recipient's payee name | Character |
cSortcode | Recipient's bank sort code | Character |
cBaccno | Recipient's bank account number | Character, format "X(8)" |
cSocac or cRollno | Recipient's society roll number | Character |
cIBAN | Recipient's IBAN number | Character |
cSWIFT | Recipient's Swift code | Character |
cBnk_sort | Paying bank sort code | Character |
cBnk_acno | Paying bank account number | Character |
cCoc_name | Paying company name | Character |
dNetPay | Net payment | Decimal, format "zzz,zz9.99-" |
cChqRef | Transaction reference | Character |
cOurBankname | Payer's bank name | Character |
cOurBranchname | Payer's bank branch | Character |
cOurSortcode | Payer's bank sort code | Character |
cOurAccno | Payer's bank account number | Character |
cOurAccname | Payer's bank account name | Character |
cCurrency | Payment currency code | Character |
cSupCurrency | Recipient's account currency | Character |
cSupCountry | Recipient's country code | Character |
cCoc_vatregno | Payer's VAT registration number | Character |
cCheckingSavings |
| Character |
lPrenote | Notification that this line is a pre-notification of payment - used in US | Logical |
lBalanceEntry | Used in US. | Logical |
cStd18Fld7 | For UK Payroll this is the RTI tag once RTI is in use. Otherwise it evaluates to "0000". | Logical |
cEndToEndID | A unique number to identify the transaction (like a line number); required by SEPA. | Character |
iTotalRecords | Count of all records including Header/Body/Body Detail and Footer | Integer |
iBodyRecords | Count of all body records excluding Body Details | Integer |
iBodyTotal | Count of all body records including Body Details | Integer |
Note: Although the tokens are grouped as "Body" or "Header / Footer", all tokens can be used on all form types: all header/footer details are available on the body lines; the details from the first body line are available on the header, and the details from the last body line are available on the footer.






