Originally written by John Hardwick, last updated May 13, 2025, on the Swan Retail knowledge base (FRS).
FRS-Accounts Interface-130525-082857.pdf This document is based on SwanFRS release version 1211.
PDF download
FRS-Accounts Interface-130525-082857.pdf
Please check with Swan before upgrading your Accounts Package – Upgrading can result in your interface failing.
Accounting packages sometimes change their data import formats and processes. This causes the interface to fail.
Overview
This document details how to set up and configure the interface between SwanFRS and a third-party accounts package.
There are variations between packages especially relating to the methods and means of transferring data between packages and therefore it is recommended that you consult your Swan implementation consultant to discuss the requirements before beginning the process of building your interface.
The SwanFRS to Accounts (GL) interface has two aspects.
|
Stock |
FRS tracks all financial stock movements. (receipts and deliveries and where configured stock movements.) It is possible to match invoices (bills) to receipts in SwanFRS – if this feature is turned on, SwanFRS tracks the cost of stock, when goods arrive into the business SwanFRS holds the cost of the stock as a pending payment. Once the invoice has been authorised for payment and sent across to the GL system, SwanFRS transfers the pending payment to a cost of stock on hand account. Once the goods have been delivered to the customer the cost of stock is moved to the cost of sales account. If invoices are not to be matched in SwanFRS this process can be simplified with the cost of stock being updated once the goods are booked in. SwanFRS can also track the ownership of stock by location (and cost centre) thus providing stock costings by ownership or physical location. When stock is delivered to the customer SwanFRS also writes an invoice for the delivery and posts this along with any taxes to the sales control account, stock sales account and taxes accounts. |
|
Payments |
All payments received (or refunded) are sent to a designated bank account (per tender type). From an accounts perspective, postings do not differentiate between deposits (pre-payments) or balance payments. SwanFRS manages the customer ledger and does not post specific customer information to the GL. Any detailed customer information is available within SwanFRS. SwanFRS manages the deposit (prepayment) converting any deposit to a payment within SwanFRS when goods are delivered. If there is insufficient payment recorded against a single order the order becomes a debt and can be chased within SwanFRS. |
SwanFRS can be configured to send data to the GL system periodically (daily is the most common configuration) or it can be instigated manually.
Stock data is collated as movements occur, financials are collected when deliveries and collections occur however payments will only be sent once they have been reconciled.
To ensure data sent from SwanFRS to the accounts system is correct it is essential to set up the link points identified in section 1 of this document.
SwanFRS Configuration
When linking SwanFRS into a third-party accounts application there are several definitions and controls required.
SwanFRS does not attempt to control accounting periods. SwanFRS is an order management system, which collates information useful to an accounting system cross referencing ‘expense codes’ and ‘cost centre’s where possible.
It is possible to set automatic communications to accountancy systems or have manual processes in place.
SwanFRS will pass a transaction date to the accounting system which will determine to which period this transaction is to be posted based on its internal rules for posting to open and closed periods.
Expense Codes
The first step in linking SwanFRS to an accounts package is to list the ‘expense codes’ available. This is done either by importing a flat text file or by manually keying in the list of codes.
Importing the Flat Text Files
Prior to loading data into SwanFRS, you must ensure your PC is configured to allow the process.
To import data into SwanFRS you need to have several directories defined and configured correctly on your SwanFRS server.
Please check with Swan to ensure your system is set correctly prior commencing the upload process.
The standard directories required for import are
C:\tmp\In
C:\tmp\Read
C:\tmp\Out
To allow access, initially log in to the SwanFRS server and right click the mouse whilst hovering over the menu bar. This will display the following option.
Select the Task Manager option and then choose the processes tab. Ensure the show processes from all users is ticked and sort by clicking the image name column heading.
Find the w3wp.exe entry and make a note of the username associated with it. (In this document, we will use ASPNET)
To check, right click on the c:\tmp directory when viewed from the windows® browser and click properties. Click the security tab and ensure there is a tick in the allow column for all users.
Click on the Add button and type the username associated with the w3wp.exe routine previously noted.
Click the check names button and select the appropriate name from the list, then ensure this user has access permissions.
Then from windows® file explorer single click on each folder and select the tools option, select folder options, then select view and scroll down to the use simple file sharing and ensure this tab is unticked. Apply any changes.
The file name and directory are dictated by the settings within the AccountsInterfaceConfig.XML file which resides within the SwanFRS directory.
Please contact Swan for clarification of the file path and acceptable file names.
The ‘config’ file needs to contain the following sections
To import nominal codes: -
<File
Type=”Exchange”
FileSyncType=”None”
ExportFileNameRoot=”NominalCode”
ImportFileNameRoot=”NominalCode”
CommandText=”NominalCode”
CommandType=”Table”
KeyColumn=”0”
KeyField=”NominalCode”
>
<Columns>
<Column Pos=”0” Name=”NominalCode” />
<Column Pos=”1” Name=”NominalDesc” />
</Columns>
</File>
To import expense code data the file name must be NominalCode.csv and be present in the c:\tmp\In directory.
Manual Build
SwanFRS requires knowledge of the expense codes used within your accounting system. Data can be imported via a flat file or manually created / maintained via the set up nominal account codes routine.
Menu Location: System Admin > Accounts > Set Up Nominal Account Codes
See Set Up Nominal Account Codes for Details
The routine will require a unique numeric nominal (expense) code and a description which will be used at various points within SwanFRS.
It is not possible to delete a ‘nominal code’ once created however it is possible to change its code and / or description.
Application Parameters
Once the ‘coding of accounts’ has been imported into SwanFRS it is possible to set the following application parameters.
|
ACCOUNTS_CUSTOMER |
This field is only required when connecting to Sage MMS. Set to a single reserved customer in Sage. All sales ledger postings will be sent to this account. |
|
ACCOUNTS_DATA_PATH |
Path to the accounting systems data when interfacing to an accounts package using the COM interop (e.g., Quick Books) An example of a Sage 50 path is C:\programdata\Sage\Accunts\2018\Practice\AccData This can be seen when logging into Sage Remember to add the Accdata to any path displayed. |
|
ACCOUNTS_IFC |
Set to the type of interface you are using Choose from
|
|
ACCOUNTS_NON_VAT |
Set to a non-vatable VAT / TAX code this must match one built in your accounts package and will be used for cash adjustment postings |
|
ACCOUNTS_QB_CUSTOMER |
When using Quickbooks desktop, specify the default customer for A/R transactions. This parameter can only be set by Swan. |
|
ACCOUNT_QB_DELIMITER |
When using Quickbooks desktop, specify the delimiter for IIF file. This parameter can only be set by Swan. |
|
ACCOUNT_QB_DETAIL_MODE |
When using Quickbooks desktop, specify if the IIF file is to be generated in detailed or summary format. This parameter can only be set by Swan. |
|
ACCOUNT_QB_INV_DATE |
When using Quickbooks desktop, specify which date is to be used for purchase invoices – invoice date / process date for example. This parameter can only be set by Swan. |
|
ACCOUNTS_SOURCE |
When operating with Sage MMS set to a source of reference (any number between 16 and 90) to enable Sage to ‘know’ which external source the transaction came from |
|
ACCOUNTS_TAX_AUTHORITY |
Certain versions of QuickBooks require a narrative providing within the IIF import file. |
|
ACCOUNTS_USER |
When operating with Sage MMS set to a valid Sage user number. |
|
CASH_ADJUSTMENT_NOM_2 |
Specify an account for any cash adjustments – where CASH ADJUSTMENTS NOMINAL 2 are posted. If not set the Sales Ledger Control account us used. |
|
CashAdjustmentAccount |
Set the expense code to be used for any cash discrepancy postings generated during end of day cash reconciliation. e.g., Shortfall identified whilst process the Cash Reconciliation process. |
|
COST_ADJUSTMENT |
Set the account code where cost adjustments for accessory classed items are posted. This is generated when the cost of stock is changed manually. |
|
DEPOSIT_CONTROL_ACCOUNT |
Specify the expense code used to hold the value of payments received as a deposit (pre-payment / payment in advance of delivery). |
|
GOODS_IN_TRANSIT |
Set to the expense code to be used when shipping advised by the manufacturer (SAP EDI interface only) This is used when stock is being moved from one location to another and holds the cost of the stock being moved until the transfer is completed. |
|
GOODS_INWARD |
Set to the expense code for goods receipts (unmatched goods) control account This account holds the expected cost of stock which has been booked in but has yet to be paid for. |
|
NOMINAL_TRANSACTION_MODE |
Choose the method of posting transaction to the accounts package. Options available –
See Nominal Transaction Mode for more information |
|
POST_STOCK_COST_ADJUSTMENTS |
Tick if manual stock cost adjustments are to be posted to an accounts system. |
|
PREPAYMENT_CONTROL_ACCOUNT |
When using ancillary costs where the costs are to be added to the cost of stock at time of raising the purchase order, set the account code to be used as a ‘pre-payment account. This account holds the value of payments made in advance of receipt into stock. |
|
Purchase_Ledger_Control |
Certain versions of QuickBooks require the GL Code specifying when processing a Bill via Vendor Bill Matching / Supplier Invoice Matching. |
|
RETURN_TO_SUPPLIER |
Set to the expense code for supplier returns This account is used when goods are marked a ‘returned to the supplier’ and is cleared down once the credit note has been processed. |
|
SalesLedgerControl |
Set to the expense code used as a sales ledger control account. The sales ledger control account is used to record the value of sales confirmed. Sage will not allow posting to the sales ledger control account; therefore, it is necessary to create an SwanFRS sales ledger account which will allow postings |
|
STOCK_OWNERSHIP |
Select from
|
|
USE_VAT_CODE_ID |
When operating with a single tax regime set this parameter to ticked. If operating with alphanumeric VAT codes within your accounting package, then set to unticked. When operating with multiple tax jurisdictions then this field is ignored. |
|
VAT_DEPOSITS_CONTROL |
Specify the control account code used to hold the VAT payable on deposits paid. This account acts as a balance account for the VAT_ON_DEPOSIT account code. Adding the two will always produce a zero value. The VAT rate for payments is taken from the default VAT rate set within Set Up VAT rates. |
|
VAT_ON_DEPOSIT |
Specify the expense code used to hold the Taxable element of payments received in advance of delivery. Postings to this account are reversed at time of confirmation of delivery. |
|
VAT_SALES |
Set to the expense code for sales vat / tax |
|
WRITE_OFF |
Set to the expense code for goods write-offs |
|
WRITE_ON |
Set to the expense code for goods write-on’s |
VAT / TAX Codes
Menu Location: System Admin > Sales > Set Up Tax Rates
See Set Up Vat Rates for Details
VAT / TAX Codes used in SwanFRS must replicate those used in your accounting package.
A non-vatable VAT / TAX code (i.e., one that does not get included in the VAT / TAX return figures) must be set up so that cash adjustment postings can be written to the sales ledger but not affect the VAT / TAX return.
When building the corresponding rate within SwanFRS use the code not the name. Only VAT / TAX Rates used by SwanFRS need to be entered in SwanFRS, which may be a subset of the codes which exist in your accounting package.
The VAT / TAX Code used in SwanFRS must replicate that used in the Code column of your accounting package.
Once you have processed orders within SwanFRS it is not recommended that you change the % rate, this may cause imbalances between the systems. Should you require a new VAT / TAX rate generate new codes in both systems prior to processing orders.
The default vat rate is used to calculate the tax payable value of any deposit payment made. This is reversed when goods are delivered with the correct tax payable being generated from the rate of tax set against the product / order line.
Locations
Menu Location: System Admin > Sales > Set Up Locations
See Set Up Locations for details
Where cost centres are in operation they must be set up in both systems, this routine should be used within SwanFRS to set the cost centre codes.
Set the cost centre in the accounts ID field.
Sage50 uses the LocationID not the AccountsID. Therefore, for Sage50 integration it is necessary to ensure the cost centres in Sage match the LocationIDs set in SwanFRS.
Product Groups
Menu Location: System Admin > Products > Set Up Product Groups
See Set Up Product Groups for Details
Each product group in SwanFRS must be assigned a series of link points to the accounting package.
Product groups must also be assigned a selling VAT / TAX rate which will be used when posting.
The user must possess the ADMIN_HEADER user privilege to gain access to this routine
The standard rate of VAT / TAX is available via the icon.
Click on the VIEW ACCOUNT CODES button to see the expense codes recorded against each product group.
This page allows the setting of a sales expense code (used when goods are confirmed as delivered to customer), cost code (cost of the confirmed sale), Stock code (the cost of the stock), freight stock and freight cost codes. Freight stock and cost of freight codes are used by invoice matching when an add-on cost is set to apportion to freight only.
Product Group Cost Center’s
Menu Location: System Admin > Products > Set Up Product Group Cost Centres
See Set Up Product Group Cost Centres for details
SwanFRS offers the ability to override the cost centre linked to a location and product group. This feature is designed to allow all transactions for a specific group of SKUs to be allocated to a specific cost centre – for example, all disposal and / or delivery charges or all carpet sales are to be grouped.
This routine need only be set up if you wish to use cost centre overrides.
The process applies to delivery / collection confirmations ONLY.
The user must possess the ADMIN_HEADER user privilege to gain access to this routine.
Operators possessing the POWER_USER privilege will be able to choose a company and then locations from the chosen company. Users with CHANGE_LOCATION_ALL will be able to choose any location within their company and users with CHANGE_LOCATION_BA will be able to select a location from within their business area, operators with none of the above can make changes to their designated location only.
Only active locations with the ‘can sell’ flag set will be presented for selection.
The routine is location specific requiring the operator to select the location the override is to be linked to prior to listing the product group overrides. The list of locations is restricted to those visible to the operator and capable of selling (i.e., have the can sell flag ticked)
The sequence filter offers listings in alphabetical, last changed or overridden.
Click the icon. To change a previously created record or click the NEW button to create a new override.
The pencil will be blocked if the ‘replacement cost center’ selected on the line is not ‘accessible’ to the user.
In the example above the system is being instructed to replace the cost centre for a confirmed customer delivery (or collection) if the order line being processed is linked to a sales order generated for ‘Main Street’ showroom and the order lines product group is ‘C001 – Carpeting’.
In this scenario, the system will use the cost centre linked to the ‘Carpet’ location instead of Main Street’s cost centre.
This cost centre override applies to cost of sales only (type 24’s) all other posting generated as part of the transaction will use ‘Main Street’ cost centre (or the stock holding location where applicable)
The system will replace cost centre 1 for delivery confirmations and cost centre code 2 for returns
Tender Types
Menu Location: System Admin > Sales > Set Up Tender Types (Set Up Methods of Payment)
See Set Up Tender Types for details
Each physical form of tender should be known to SwanFRS, each tender can have a separate code for posting subsidies.
The subsidy is an automatic percentage break out of the payment value posted to the specified expense code where set.
It is also important to specify the level of detail postings to the accounts package. The choices are summary, detailed or customer.
Detail is one transaction per payment detailing the payment reference.
Customer is one transaction per payment detailing the order number and customer surname.
Summary is one transaction per tender type.
Tender Type Bank Codes
Menu Location: System Admin > Sales > Set Up Tender Type Bank Codes (Set up MOP Bank Codes)
See Set Up Tender Type Bank Codes for details
For each location, you need to specify the Cash Book Account Number/Nominal Code that SwanFRS is to use when sending confirmed (completed end of day) values to the accounting package.
Sage will not allow posting to sales ledger control accounts; account codes used here must be postable within Sage.
Suppliers
Menu Location: System Admin > Purchasing > Set Up Suppliers
SeeSet Up Suppliers for details
It is possible to set supplier specific expense codes at supplier level for –
Goods in transit
Goods inwards
Return to supplier
Where set, these codes supersede those set at application parameter level.
It is also important to ensure the supplier accounts ID is set.
Currencies
Menu Location: System Admin > Purchasing > Set Up Currencies
See Set Up Currencies for details
If operating with currencies, ensure the codes set in Quick Books for Currency replicate the codes within SwanFRS prior to setting up your suppliers
Ensure any leading zeros are removed from SwanFRS – i.e., code 3 in your accounting package must match code 3 in SwanFRS – 003 will cause data to be rejected.
When using Sage 50 or 200 it is necessary to set up the base currency, as set up within Sage for the interface to operate.
Accounting Dates
Menu Location: System Admin > Accounts > Set Up Accounting Dates
See Set Up Accounting Dates for details
SwanFRS does not have period ends which can cause issues should a back dated transaction be posted in SwanFRS.
To stop the possibility of posting to a closed accounting period it is possible to set a series of accounting dates within SwanFRS. Where used if a transaction would generate a posting to a closed period, it is automatically posted to the first open period.
When closing a period revisit this program and change the first active period thus closing the accounting period being closed.
Deposits
SwanFRS, where configured will send the deposit value held to the Accountancy System.
Any payment received in advance of delivery confirmation is deemed to be a deposit payment.
Deposit payments are, dependent upon local legislation, may require the retailer to pay tax.
SwanFRS, having established a payment is a deposit will post the payment value to a deposit account and the tax payable element of this payment to a vat on deposit account.
As goods are delivered to the customer (and possibly returned) the deposit value alters, SwanFRS automatically adjust the deposit and Vat on deposit GL codes accordingly.
Deposit values and Vat on deposit values are generated as a result of running the Cash Reconciliation and are not generated at time of recoding the payment.
Deposit values are reversed at time of customer collection, quick collect or delivery confirmation.
SwanFRS has been configured to differentiate between pre-payments (deposits) and balance payments and will only reverse deposit values posted in advance of delivery.
The VAT element of a deposit is based on the ‘default’ VAT rate set in the system. If the order contains one or more ‘alternative rate’ vatable products it is possible that the VAT value sent to the GL system is under / overstated. As the goods are delivered this value is reversed with the true VAT value then being generated from the rate of VAT set against the product line. It is therefore necessary to use the VAT on deposits plus the VAT on sales to establish the vat payable.
See Deposits to GL Guide for more Details.
SwanFRS Accounts Interface
During the day-to-day operation of the SwanFRS system transactions are recorded and at the users request this data is ‘sent’ to an accounts system which takes the data and updates the ledgers.
The transactions which generate journal postings are –
Cost of sales transactions
Cost of customer returns/credits transactions
Stock write on’s
Stock write offs
Goods receipts (and undo receipts)
Branch ownership change
Returns to supplier
Cash adjustments
Subsidy adjustments
Bank Deposit transactions will post as bank receipts/bank payments. Such transactions are only considered ready for posting once they have been confirmed via the end of day processing procedures.
Goods sold/credited will be written as a sales invoice/sales credit with three elements – debtor’s control, goods value (VAT / TAX exclusive) and sales VAT / TAX control. The goods and VAT / TAX postings will be assigned the relevant VAT / TAX code so that they are included in the VAT / TAX Return calculations within your account package.
SwanFRS employs different posting methodologies dependent upon whether the accounts package accepts data directly sent to it.
The method of sending data to an accounts package depends on the accounting package and whether SwanFRS is hosted or on-premise. It is recommended that this part of the process is discussed with your implementation consultant. The steps may change from those noted here.
Menu Location: Accounts > Accounts Interface
This generates a screen like that shown below (options may vary dependent upon system settings)
Clicking the export ‘Account’ option instructs SwanFRS to collate all previously unprocessed data into three ‘text’ files which will be saved on the server in the specified directory (usually C:\tmp\Out on the SwanFRS server).
The files are –
Sales_yyyymmddhhmmss (for sales ledger postings)
Nominal_yyyymmddhhmmss (for nominal ledger postings)
Purchase_yyymmddhhmmss (for purchase ledger postings)
(yyyymmddhhmmss = year, month, day, hour, minute and second)
No validation of data is performed during the export. SwanFRS does not check with the accounts package if codes used are valid. It is there important to ensure that the settings detailed in this manual are correct. I.e., all nominal codes used are present and postable.
Once the data has been generated the screen will show the number of transactions generated (As in the example shown below)
Once the data has been generated it is then necessary to import the file into the accounts package.
It is recommended that the csv files generated by the ‘export to accounts’ option be moved to a ‘safe’ area after successful import. Some accounts systems do not prohibit files being processed twice. Moving the file to a ‘processed’ directory, once updated reduces the chances of a second update. The move can be performed via the standard windows® file processing functions.
Once the data file has been generated and therefore exported from SwanFRS it is the ‘operators’ responsibility to ensure it is processed correctly within the accounts application. Replication of imports into an accounts package are not the responsibility of SwanFRS and no action can be taken by Swan support staff to rectify issues once processed.
Swan will need to set up the AccountsInterfaceConfig.xml to support the export structure needed for your accounts package.
Postings Generated
Each transaction generated has a unique transaction type identified by the system which will be passed through to the nominal interface.
Payments
Whenever payments are confirmed via the Cash or Finance Reconciliation progress the following transactions created.
|
ID |
Activity |
DR |
CR |
Tax |
Example |
DR |
CR |
Tax |
|
30 |
Customer payment (The number of postings is controlled via the Summary / Detail / Customer setting held against the method of payment. |
Bank Account linked to the tender |
Sales Ledger control |
No posting |
Paid £100 |
£100 |
£100 |
£0 |
|
30 |
Refund (The number of postings is controlled via the Summary / Detail / Customer setting held against the method of payment. |
Bank Account linked to the tender |
Sales Ledger control |
No posting |
Refunded £100 (Negative values are posted) |
-£100 |
-£100 |
£0 |
|
31 |
VAT on Deposit (Cash Reconciliation (This posting is only generated if a payment is processed in advance of a delivery confirmation) |
VAT deposit control |
VAT on Deposit |
Vat element of any payment using the system default VAT Rate |
Payment of £500 with a VAT rate of 20% would produce a posting value of £83.33 |
-£83.33 |
£83.33 |
- |
|
31 |
VAT on Deposit (Delivery confirmation) (This posting is only generated if a deposit payment has been reconciled in advance of a delivery confirmation) |
VAT on Deposit |
VAT deposit control |
Vat element of any payment using the system default VAT Rate |
Payment of £500 with a VAT rate of 20% would produce a posting value of £83.33 |
£83.33 |
-£83.33 |
- |
|
32 |
Adjustment |
Cash adjustment account |
Sales ledger control (Cash adjustment nom 2 for MMS users) |
No Posting |
A shortfall or overpayment is identified when cashing up. In this instance an extra £2 was found when counting the cash. (Negative values are posted for shortfalls) |
£2 |
£2 |
£0 |
|
33 |
Subsidy adjustment |
Subsidy account linked to the tender. |
Bank account linked to the tender |
No Posting |
Subsidy 2% of payment – payment of £100 |
£2 |
£2 |
£0 |
Stock Movements
Whenever stock / goods are received, transferred, or confirmed as delivered the following transactions occur.
PG is the product group the item sold is linked to in the examples below.
|
ID |
Activity |
DR |
CR |
Tax |
Example |
DR |
CR |
Tax |
|
10 |
Delivery confirmation of an item (written sale) |
Sales ledger control |
PG SALES account |
Tax control |
Cash and carry item sold for £100 – tax 10% |
£90 |
£100 |
£10 |
|
24 |
Delivery confirmation of an item (written sale) |
PG COST account |
PG STOCK account |
No Posting |
Confirmed delivery Cost of goods £30 |
£30 |
£30 |
£0 |
|
24 |
Return confirmation of an item (written sale) |
PG STOCK account |
PG COST account |
No Posting |
Confirmed return of goods Cost of goods £30 |
£30 |
£30 |
£0 |
|
20 |
Stock write on (Via program) |
PG STOCK account |
Write on account – application parameter |
No posting |
Unexpected goods receipt – no purchase order. Cost of goods £30 |
£30 |
£30 |
£0 |
|
20 |
Stock write on (Automatic SwanFRS)
|
PG STOCK account |
Reason code A/C or Write on App Parm if not set. |
No posting |
Unexpected goods receipt – no purchase order. Cost of goods £30 |
£30 |
£30 |
£0 |
|
21 |
Stock written off (Via Program) |
Write off account – as set in write off reasons |
PG STOCK account |
No posting |
Stock lost or donated to charity Cost of goods £30 |
£30 |
£30 |
£0 |
|
20 |
Stock write off (Automatic SwanFRS)
|
PG STOCK account |
Reason code A/C or Write off App Parm if not set. |
No posting |
Unexpected goods receipt – no purchase order. Cost of goods £30 |
£30 |
£30 |
£0 |
|
51 |
Write off reversal |
PG STOCK account |
Reason code A/C or Write off App Parm if not set. |
No posting |
Stock previously marked as lost is now found. Cost of goods £30 |
£30 |
£30 |
£0 |
|
22 |
Stock receipt |
PG STOCK account |
Goods receipt not invoiced (GRNI) from supplier or if not set the goods in App Parm |
No posting |
Goods arrival linked to a purchase order. Cost of goods £30 |
£30 |
£30 |
£0 |
|
22 |
Post GRN cost adjustments
|
PG STOCK account |
Goods receipt not invoiced (GRNI) from supplier or if not set the goods in App Parm |
No posting |
New cost price entered – the variance is £30 (Negative values are posted for shortfalls) |
£30 |
£30 |
£0 |
|
22 |
Post GRN cost adjustments
(Goods on hand)
|
PG STOCK account |
Goods receipt not invoiced (GRNI) from supplier or if not set the goods in App Parm |
No posting |
New cost price entered – the variance is £30 (Negative values are posted for shortfalls) |
£30 |
£30 |
£0 |
|
22 |
Post GRN cost adjustments
(Goods on now delivered to customer) |
PG COST account |
Goods receipt not invoiced (GRNI) from supplier or if not set the goods in App Parm |
No posting |
New cost price entered – the variance is £30 (Negative values are posted for shortfalls) |
£30 |
£30 |
£0 |
|
22 |
Post GRN cost adjustments
(Goods on now returned to supplier) |
RTS from the supplier or if not set the return to supplier App Parm |
Goods receipt not invoiced (GRNI) from supplier or is not set the goods in App Parm |
No posting |
New cost price entered – the variance is £30 (Negative values are posted for shortfalls) |
£30 |
£30 |
£0 |
|
22 |
Post GRN cost adjustments
(Goods on now written off) |
App Parm write off account |
Goods receipt not invoiced (GRNI) from supplier or is not set the goods in App Parm |
No posting |
New cost price entered – the variance is £30 (Negative values are posted for shortfalls) |
£30 |
£30 |
£0 |
|
23 |
Return to Supplier |
RTS from the supplier or if not set the return to supplier App Parm |
PG STOCK account |
No posting |
Item is imperfect – manufacturing fault therefore returning for credit. Cost of goods £30 |
£30 |
£30 |
£0 |
|
28 |
Manual Cost Adjustment
|
Cost Adjustment account code |
PG COST account |
No posting |
The cost of goods has been manually changed. Originally the cost was £100 and has been changed to £90. |
£10 |
£10 |
£0 |
|
29 |
Change of ownership |
PG STOCK account (receiving location) |
PG STOCK account (sending location) |
No posting |
stock moved from one location to another with stock ownership set to ‘owned by physical location’ Cost of goods £30 |
£30 |
£30 |
£0 |
Invoice Matching
When goods are received with the GRN program, and the system is set to invoice (bill) match the following transactions are generated when the invoice is cleared for payment. (Payment if the account is done in the general ledger)
PG is the product group the item sold is linked to in the examples below.
|
ID |
Activity |
DR |
CR |
Tax |
Example |
DR |
CR |
Tax |
|
41 |
Invoice authorisation. |
Suppliers Goods receive not invoiced account or if not set that set in the App Parm |
PG STOCK account |
No posting |
An item received has been invoiced at £110 |
£110 |
£110 |
£0 |
|
42 |
Cost Discrepancy for an invoice occurs if the invoiced cost varies from the expected PO cost. |
PG Cost (for stock) Return to supplier used if item already returned to supplier. |
PG STOCK Account |
No posting |
The item was expected at £100 but was invoiced at £110 |
£10 |
£10 |
£0 |
|
43 |
Credit note authorisation |
PG STOCK account |
Suppliers RTS Control account if set or the App Parm control if not. |
No posting |
A credit note has been invoiced for £110 |
£110 |
£110 |
£0 |
|
44 |
Cost Discrepancy for a credit note
occurs if the invoiced cost varies from the expected PO cost. |
Write off control account |
PG STOCK Account |
No posting |
The credit note was expected for £100 but was processed at £110 |
£10 |
£10 |
£0 |
Detailed Postings
Sales Transaction
A sales transaction will be generated upon completion of a sale. A completion of sale event occurs after:
Delivery of goods to customer confirmation
Customer collection of goods
Customer takes goods with them at POS
An Invoice is generated, and an invoice line item generated for each stock item/service sold. Two transactions will be written to the SwanFRS nominal ledger table for each line item on the invoice.
Goods Sold (Transaction Type - 10)
|
Column |
Content |
|
Transaction date |
Invoice (despatch) date |
|
Reference 1 |
Sales order / pad number |
|
Reference 2 |
Customer name (this may, in the future, be modified to reflect the goods being sold) |
|
Amount |
Final (discounted) selling price excluding VAT / TAX |
|
VAT / TAX amount |
Calculated Unit VAT / TAX amount |
|
Debit |
Sales ledger control |
|
Credit |
Product group’s sales account and VAT / TAX control |
Cost of Sale (Transaction Type – 24)
|
Column |
Content |
|
Transaction date |
Invoice (despatch) date |
|
Reference 1 |
Sales order / pad number |
|
Reference 2 |
SKU number & stock number |
|
Amount |
Latest stock cost |
|
VAT / TAX amount |
0 |
|
Debit |
Product group’s cost account |
|
Credit |
Product group’s stock account |
Deposit reversal (Transaction Type – 31)
Note: If the VAT_DEPOSIT_CONTROL or VAT_ON_DEPOSITS application parameters are left empty or if the default VAT Rate is unset, SwanFRS will NOT generate type 31 records.
This transaction is only generated if a deposit payment, which has been cash reconciled, has been recorded against the sales order in advance of the confirmation of delivery. (Or if a return would create a deposit balance on the order).
The Type 31 record effectively reverses the VAT on deposit postings created when reconciling a pre-payment.
The system will automatically establish the deposit value held against the order ensuring that if the value of goods delivered exceeds the sum of deposit payments received, the tax reversal is calculated on the deposit value held not the sum of goods delivered.
|
Column |
Content |
|
Transaction date |
Reconciliation date |
|
Reference 1 |
Reconciliation (deposit slip) |
|
Reference 2 |
Sales order number |
|
Amount |
VAT component of the payment value. |
|
VAT / TAX amount |
0 |
|
Debit |
Vat control account |
|
Credit |
VAT on deposits account |
Customer Credit
A customer credit event may or may not be associated with a return of goods from the customer.
If the customer credit is issued without a product return, then the system will create a sales order line with a negative selling price (allowance) and create a dummy stock record with zero cost.
Two transactions will be written to the SwanFRS nominal ledger table for each line being returned.
Goods Returned (Transaction Type – 10)
|
Column |
Content |
|
Transaction date |
Credit (return) date |
|
Reference 1 |
Sales order / pad number |
|
Reference 2 |
Customer name (this may, in the future, be modified to reflect the goods being sold) |
|
Amount |
Final (discounted) selling price of the item being returned excluding VAT / TAX |
|
VAT / TAX amount |
Calculated unit VAT / TAX amount |
|
Debit |
Product group’s sales account and VAT / TAX Control |
|
Credit |
Sales ledger control |
Cost of Return (Transaction Type – 24)
|
Column |
Content |
|
Transaction date |
Credit (return) date |
|
Reference 1 |
Sales order / pad number |
|
Reference 2 |
SKU number & stock number |
|
Amount |
Latest stock cost |
|
VAT / TAX amount |
0 |
|
Debit |
Product group’s stock account |
|
Credit |
Product group’s cost account |
Stock Write-on
Stock Write-on (Transaction Type – 20)
|
Column |
Content |
|
Transaction date |
Write on date |
|
Reference 1 |
Write on number |
|
Reference 2 |
SKU number & stock number |
|
Amount |
Latest stock cost |
|
VAT / TAX amount |
0 |
|
Debit |
Product group’s stock account |
|
Credit |
Write on control account |
Stock Write-off
Stock Write-off (Transaction Type – 21)
|
Column |
Content |
|
Transaction date |
Write off date |
|
Reference 1 |
Write off number |
|
Reference 2 |
SKU number & stock number |
|
Amount |
Latest stock cost |
|
VAT / TAX amount |
0 |
|
Debit |
Write off control account |
|
Credit |
Product group’s stock account |
Stock Write Off Reversal (Transaction Type – 51)
|
Column |
Content |
|
Transaction date |
Write off reversal date |
|
Reference 1 |
Write off reversal number |
|
Reference 2 |
SKU number & stock number |
|
Amount |
Latest stock cost (negative) |
|
VAT / TAX amount |
0 |
|
Debit |
Write off control account |
|
Credit |
Product group’s stock account |
Goods Receipting
Goods Receipting (Transaction Type – 22)
|
Column |
Content |
|
Transaction date |
Goods receipt date |
|
Reference 1 |
GRN & PO number |
|
Reference 2 |
SKU number |
|
Amount |
Latest stock cost |
|
VAT / TAX amount |
0 |
|
Debit |
Product group’s stock account |
|
Credit |
Goods inward control account |
Where goods receipts are ‘undone’, a simple reversing entry is done using transaction type 22.
Branch Ownership Change
Branch ownership changes (stock transfers) will only be written if stock ownership (application parameter STOCK_OWNERSHIP) is set to physical location.
Branch Ownership Change (Transaction Type – 29)
|
Column |
Content |
|
Transaction date |
Transfer note date |
|
Reference 1 |
Transfer note number |
|
Reference 2 |
SKU number & stock number |
|
Amount |
Latest stock cost |
|
VAT / TAX amount |
0 |
|
Debit |
Product group’s stock account with receiving location’s cost centre |
|
Credit |
Product group’s stock account with sending location’s cost centre |
Return Stock Item to Supplier
Return to Supplier (Transaction Type – 23)
|
Column |
Content |
|
Transaction date |
Returns note date |
|
Reference 1 |
RTS number |
|
Reference 2 |
SKU number & stock number |
|
Amount |
Latest stock cost |
|
VAT / TAX amount |
0 |
|
Debit |
Returns to supplier control account |
|
Credit |
Product group’s Stock account |
Cash Reconciliation
When a payment is received from a customer, the payment amount, tender type, and payment branch are written to the customer payment table. Customer cash refunds are also written to the customer payment table using a negative payment amount, refund tender type and refund branch. When the Cash Book is reconciled for the current cash period for a branch, the system groups all cash payments into a single transaction and the amount of cash to be deposited at the bank is entered by the user. A cash adjustment can be made if actual cash does not equal the Cash Book value. The cash adjustment is recorded as a separate transaction to the nominal table. The system then groups all remaining payments by tender type and determines the bank nominal code for each tender type/location from the tender type of location link table. The system writes a transaction to the nominal table for each payment method recording the bank deposit amount (total inclusive of subsidy) and then writes a reversal for the subsidy amount (type 33) where applicable.
Currently SwanFRS does not calculate VAT / TAX on customer deposits, only on deliveries/collections. For this reason, VAT / TAX postings to the financial system will happen on the delivery/collection transactions, not on the payment postings. Internal business processes managed and controlled by the retailer, perhaps with the help of SwanFRS cash receipting reports, must be employed if VAT / TAX on deposits is a business accounting requirement.
Bank Deposit Transaction (Transaction Type – 30)
|
Column |
Content |
|
Transaction date |
Reconciliation date |
|
Reference 1 |
Reconciliation (deposit slip) number – contents depend on setting made in the Tender Types section of this document. |
|
Reference 2 |
Tender group & tender type – contents depend on setting made in the Tender Types section of this document. |
|
Amount |
Total value |
|
VAT / TAX amount |
0 |
|
Debit |
Bank account code from location/tender type |
|
Credit |
Sales ledger control |
Deposit payment (Transaction Type – 31)
This transaction is only generated if a payment processed is deemed to be a deposit (monies received in advance of goods delivery). If a payment is received and goods subsequently delivered before the cash reconciliation is processed would not generate the type 31 record).
|
Column |
Content |
|
Transaction date |
Reconciliation date |
|
Reference 1 |
Reconciliation (deposit slip) |
|
Reference 2 |
Sales order number |
|
Amount |
VAT component of the payment value. |
|
VAT / TAX amount |
0 |
|
Debit |
Vat on deposits account |
|
Credit |
VAT control account |
Cash Adjustment (Transaction Type – 32)
If there is a discrepancy between the cash counted and the system cash, then a cash adjustment transaction is created.
The adjustment value is taken to be under-bank. Therefore, a negative adjustment value implies an over-bank.
|
Column |
Content |
|
Transaction date |
Reconciliation date |
|
Reference 1 |
Reconciliation (deposit slip) number |
|
Reference 2 |
Tender group & tender type & “Adjustment” |
|
Amount |
Adjustment value |
|
VAT / TAX amount |
0 |
|
Debit |
Cash adjustment control account |
|
Credit |
Sales ledger control |
Subsidy Adjustment (Transaction Type – 33)
If a tender type holds a subsidy percentage on the tender type table, then a subsidy adjustment is added to the transaction table.
|
Column |
Content |
|
Transaction date |
Reconciliation date |
|
Reference 1 |
Reconciliation (deposit slip) number |
|
Reference 2 |
“Charge” & tender group & tender type |
|
Amount |
Subsidy value |
|
VAT / TAX amount |
0 |
|
Debit |
Subsidy code from tender type |
|
Credit |
Bank account code from location/tender |
Purchase Order / Invoice Matching
Where SwanFRS is to be used as the point of entry for purchase invoices, and the details subsequently passed through to the accounting package via an interface, additional Nominal transactions will be generated by the invoice matching module and then processed as journals accordingly.
Goods Receipt Reversals (Transaction Type – 41)
|
Column |
Content |
|
Transaction date |
Purchase invoice posting date |
|
Reference 1 |
Invoice number |
|
Reference 2 |
Supplier name |
|
Amount |
Original goods receipt cost |
|
VAT / TAX amount |
0 |
|
Debit |
Goods inward control account |
|
Credit |
Product group’s stock account |
Cost Discrepancies (Transaction Type – 42)
|
Column |
Content |
|
Transaction date |
Purchase invoice posting date |
|
Reference 1 |
Invoice number |
|
Reference 2 |
Supplier name |
|
Amount |
Cost discrepancy (negative amount indicating that stock has been invoiced for LESS than the original goods receipt price). |
|
VAT / TAX amount |
0 |
|
Debit |
Cost of sales/Freight cost (if goods sold), RTS control account (if goods returned to supplier) or write off control account (if goods written off). |
|
Credit |
Product group’s stock account If the posting is caused by an ‘apportion freight’ activity, then freight stock will be credited. |
RTS Reversals (Transaction Type – 43)
If the stock being invoiced has been sold or disposed of cost adjustment journals will be required if the invoice cost is different to the original expected cost at time of goods receipt.
|
Column |
Content |
|
Transaction date |
Purchase credit posting date |
|
Reference 1 |
Credit number |
|
Reference 2 |
Supplier name |
|
Amount |
Original RTS cost |
|
VAT / TAX amount |
0 |
|
Debit |
Product group’s stock account |
|
Credit |
RTS control |
RTS Discrepancies (Transaction Type – 44)
If the credit note is for a different value than the original stock cost, adjustment journals will be required.
|
Column |
Content |
|
Transaction date |
Purchase invoice posting date |
|
Reference 1 |
Credit number |
|
Reference 2 |
Supplier name |
|
Amount |
Cost discrepancy (negative amount indicating that credit note is for MORE than the original stock cost). |
|
VAT / TAX amount |
0 |
|
Debit |
Write off control |
|
Credit |
Product group’s stock account |
Cost Adjustments (Transaction type – 28)
Where the POST_STOCK_COST_ADJUSTMENT application parameter has been set to Y SwanFRS will post cost adjustments to your accounts system.
Where posting cost adjustments it is also necessary to build the STOCK_COST_ADJUSTMENT application parameter setting a valid expense code to be used to record cost price adjustments generated via the stock detail cost adjustment feature.
|
Calculation of Adjustment |
For purchased goods, the adjusted cost entered by the user will override the current cost (invoice cost plus any add-on cost plus any freight cost), therefore the adjusted cost should also include any add-on and freight cost and should be set accordingly. The adjustment to be posted to the accounting system will be calculated as the difference between the current cost (including add-on and freight cost) and the adjusted cost. For Written-on goods, the adjusted cost entered by the user will override the written-on cost. The adjustment posted to the accounting system will therefore be the difference between the written-on cost and the adjusted cost. |
|
Further Adjustments |
It will be possible to further adjust a cost that has already been adjusted. In this case, the adjustment posted to the accounting system will be the difference between the previous adjusted cost and the latest adjusted cost. |
A stock cost adjustment can either reduce or increase the cost of the stock item.
If the cost adjustment reduces the cost of the stock, then the following double-sided transaction will be written to the Nominal table.
|
Column |
Content |
|
Transaction date |
Date of the cost adjustment |
|
Reference 1 |
Stock detail ID |
|
Reference 2 |
SKU |
|
Amount |
Current cost – adjusted cost |
|
VAT / TAX amount |
0 |
|
Debit |
The ‘cost_adjustment’ account code |
|
Credit |
The stock item’s product group stock account |
If the cost adjustment increases the cost of the stock, then the following double-sided transaction is written to the Nominal table.
|
Column |
Content |
|
Transaction date |
Date of the cost adjustment |
|
Reference 1 |
Stock detail ID |
|
Reference 2 |
SKU |
|
Amount |
adjusted cost – current cost |
|
VAT / TAX amount |
0 |
|
Debit |
The stock item’s product group stock account |
|
Credit |
The ‘cost_adjustment’ account code |
If the item has been delivered at the time of the cost adjustment, then the product group cost value is used instead of the product group stock value.
Setting Up an Automatic Run
It is not possible to automate the Sage50 accounts interface – this must be processed manually
All Accounts Interface functions can now be scheduled via Windows Scheduled Tasks
Use the Scheduled Tasks wizard to launch Internet Explorer at the desired time interval. Add the following URL to the "Run" command so it looks something like this:
C:\PROGRA~1\INTERN~1\iexplore.exe -user -n
"user" must be set to a valid login
The value "n" can be set any one of the following values
2 = Import till transactions
3 = Export Nominal transactions
4 = Export Unmatched GRN/RTS transactions
5 = Import Data Exchange files
7 = Import Matched GRN/RTS transactions
8 = Import Processed Nominal Transactions
Respective log file will be created in the same folder as the message centre log.
Accounts Not Interfaced Report
The Accounts Not Interfaced Report may be used to list the transactions waiting to be sent to an accounting package.
The report details all transactions processed waiting to be sent via the accounts interface and is split into three sections.
Suggested Steps for Proving the Interface
The key to a successful test of the interface is to start with a clean slate and to restrict activity on SwanFRS whilst these tests are taking place.
Starting the Process
Before starting all tests ensure that any data destined for accounts has been processed.
-
If operating with an automatic process (E.g., a new data file is produced automatically every 15mins) has completed and all transactions have been marked as sent.If operating a manual process – run the Accounts Interface program.
-
If running with Sage50 click the accounts interface program on your desktop
This can be achieved by checking the Accounts Not Posted report.
Suggested Actions
As stated in this document there are several processes which collect data ready for sending to the GL system.
It is suggested that these steps be processed separately to aid with the checking of data received within the accounts system.
The following table lists the processes suggested for testing.
Each table represents a single test – after each test it is proposed that an Accounts interface is run, and the data checked within the accounts system.
Stock
|
Bring new items into stock Record the cost of the goods – use several different products linked to several product groups to make sure the correct GL accounts are being posted to. Menu Location: Warehouse > New Write On Note |
|
Write off a stock item Inform SwanFRS that an item has been lost, donated, or stolen – this will reduce the cost of goods held. Menu Location: Warehouse > New Write Off Note |
|
Write off a stock item (reversal) Inform SwanFRS that an item marked as written off has been found. Menu Location: Warehouse > Search Inventory > (amend – reverse write off) |
|
Receive goods Having generated a purchase order receive the goods into stock. Menu Location: Warehouse > Receive Goods |
|
Reverse the receipt Reverse the receipt by setting the received quantity to zero or a lower value. Menu Location: Warehouse > Receive Goods |
|
Pay for goods Process payment for goods received – adjust values up / down Add additional lines and apportion to goods or post to specific GLs. Menu Location: Accounts > Vendor Invoice Matching |
|
Return goods to vendor Instigate a return to vendor – GL postings are only generated once the item has been marked as collected by the vendor. Menu Location: Warehouse > New RTV Note |
|
Receive a Credit Having returned goods to the vendor process the credit note received – adjust values up / down Add additional lines and apportion to goods or post to specific GLs. Menu Location: Accounts > Credit Note Matching |
|
Move goods from location 1 to location 2 This is of particular use when using cost centres – moving inventory can have a financial impact within the coding of accounts. Menu Location: Warehouse > New Transfer Note Posting will only occur when completing the transfer – i.e., receiving goods in the destination location. |
|
Miscellaneous Cost Adjustment Manually change the cost price for a stock item Menu Location: Warehouse > Search Stock (Amend – change cost price) |
|
Item Delivery Complete / write a sale by confirming goods have been delivered to the customer. This is a financial transfer of ownership and will result in the cost of goods held moving to the cost of sales. This process will generate several postings within the accounts system Menu Location: Sales > Find Sales Orders (Quick Collect) Menu Location: Deliveries > Confirm Deliveries |
|
Item Collection The reverse of a delivery – collect an item back from a customer and confirm its collection. This has the reverse effect bringing the item back to stock. This action will not affect the values paid unless a credit is processed against the sale. Menu Location: Sales > Find Sales Order (Return Item) Menu Location: Deliveries > Confirm Deliveries |
Payments
|
Take a payment Take a payment or deposit for a sales order. Trial several payment types. Payments are sent to the GL whether they are a deposit or a payment in respect of goods / services already delivered to the customer. The Deposits report is used to track the values of money held in respect of undelivered goods. SwanFRS does not differentiate between a deposit and a balance payment when sending data to the accounts system. Menu Location: Sales > Find Sales Order Posting will only occur once payment have been finalized via the Cash Reconciliation program Menu Location: Accounts > Cash Reconciliation |
|
Process a refund Process and pay a refund Menu Location: Sales > Find Sales Order Posting will only occur once payment have been finalized via the Cash Reconciliation program Menu Location: Accounts > Cash Reconciliation |
|
Cash Adjustment When processing the cash reconciliation specify a shortfall or overpayment with the cash recorded. This will appear in the unders and overs account with the accounts system. Menu Location: Accounts > Cash Reconciliation |
Sending Data to Accounts
There are several methods for sending data to an accounts package – these vary between systems.
Automated Exports
This process is not possible for Sage50 accounts users.
SwanFRS can be configured to ‘send’ data to an accounts package on pre-scheduled basis (for example 2am every day – this process may run as frequently as every 15 minutes during testing phases).
The process run’s unattended and generates a date and time stamped output file in the pre-designated output folder ready to manual collection and import into the GL.
Manual Exports
This process does not produce output files suitable for QuickBooks or Sage50.
Menu Location: Accounts > Accounts Interface
This program may be run at the discretion of the operator and generates a csv data file in the designated output folder.
This is an on-demand operation and requires suitable access rights to access the program.
The number and name of the buttons will vary dependent upon the configuration of SwanFRS.
To generate an output file, click the ACCOUNTS and / or PURCHASES button on the export side of the menu or click the IMPORT / EXPORT ALL button. Clicking this button will process all files held in the import / export folders and therefore should be used only when you are certain these folders contain only files ready for processing.
The program will detail how many records have been imported / export alongside each button.
The program reads from the C:\tmp\in and writes to the C:\tmp\out folder. For hosted users, these folders are available via Dropbox®.
Sage50 Interface
Swan will provide a zip file which needs installing on the PC used for Sage50
In addition to the program, it is necessary to have the web service installed. Please contact Swan support for this to be added to your system.
Once available extract the two files from the zip folder and save them in a suitable folder on the PC.
Once extracted run (or double click) the setup.exe file.
The install script will ask for a file folder to install the application – it is recommended that the default settings are accepted.
Follow the directions to complete the install.
Once completed this will create a Sage 50 Accounts Interface, which can be pinned to your start / taskbar, or a shortcut created.
Right clicking the Sage 50 Accounts Interface provides the option to open the file location – within this location is a shortcut which can be copied or moved to the desktop.
First Time Operation
When running for the first time the program will present the following warning
Click ok then set the following details.
Swan will provide you with the URL
An example of a URL is shown below
https://<server name>/Sage50AccsIfcWebService/DataSource.asmx
Once keyed in use the TEST button – if successful SAVE the URL
Daily Operation
To send collated data from SwanFRS to Sage50 select the Sage 50 Account Interface.
The system will present the user with a login page.
Successful logging into SwanFRS presents the Sage 50 login screen.
Once successfully logged into both systems the main screen will
The screen displays the connection details and the number of records waiting to be processed.
Clicking NEXT > begins the process of pulling data from SwanFRS and posting into Sage.
This will be reflected in the Sage Interface window
Clicking VIEW LOG produces a window detailing the issues.
Importing into Quick Books
When linking to Quick Books, SwanFRS generates a data file in your designated output folder.
This file can be copied if needed to a folder your Quick Books system can see and then imported by the QuickBooks import screen.
Importing into Sage 50
Sage50 has its own import process as described earlier all other versions of Sage require the csv file generated by SwanFRS to be imported.
This is usually via a file import process on the File menu.
Please liaise with your Sage consultant should you need assistance loading data into Sage.
Sage 200 Data files
There are three data files generated when linking with Sage 200
Nominal
File Name Nominal_YYYYMMDDhhmmss.csv
Stock movements (Not Sales or payment related)
|
Field |
Comment |
Example |
|---|---|---|
|
AccountCostCentre |
Cost Centre held against the trading location |
AB |
|
AccountDepartment |
not used by FRS |
|
|
AccountNumber |
Account code (expense code) assigned to the product or action |
21000 |
|
TransactionType |
Hard coded |
1 |
|
TransactionDate |
Date of activity |
24/12/2025 |
|
GoodsAmount |
Value of transaction |
-26.56 |
|
Reference |
FRS ID used for tracking and audit purposes E.g. Transfer note, write on, off - activity reference |
1234 |
|
Narrative |
extended reference for tracking purposes |
GRN1234/PO1234 11-22-33 |
|
UserNumber |
ACCOUNTS_USER application parameter - Sage user code |
4 |
|
Source |
Hard coded |
3 |
|
PostedDate |
Nominal date created - i.e. the actual processing date |
23/12/2025 |
|
0 |
FRS internal reference |
234234 |
Purchase
File Name Purchase_YYYYMMDDhhmmss.csv
Invoice matching - generated once the invoice has been approved for payment via matching.
|
Field |
Comment |
Example |
|
|---|---|---|---|
|
AccountNumber |
Supplier ‘Accounts ID’ - effectively Sage’s Supplier code. |
ADJU01 |
|
|
DaysDiscountValid |
Difference between settlement date and today |
0 |
|
|
DiscountValue |
Settlement amount |
0.00 |
|
|
DueDate |
Date of the invoice |
30/07/2021 |
|
|
GoodsValueInAccountCurrency |
Good value (in currency) |
1112.40 |
|
|
PurControlValueInBaseCurrency |
Not used - Blank |
||
|
DocumentToBaseCurrencyRate |
Exchange rate |
1.000000 |
|
|
DocumentToAccountCurrencyRate |
1 divided by exchange rate |
1.0000000000000 |
|
|
PostedDate |
Today’s date (now) |
26/07/2021 |
|
|
TransactionReference |
The invoice number |
1012 |
|
|
SecondReference |
The invoice reference |
LW1 |
|
|
Source |
Hard coded |
2 |
|
|
SYSTraderTranType |
|
4 |
|
|
TransactionDate |
Invoice date |
15/07/2021 |
|
|
UniqueReferenceNumber |
Purchase invoice ID - internal |
1294 |
|
|
UserNumber |
ACCOUNTS_USER application parameter - Sage user code |
4 |
|
|
TaxValue |
VAT value |
185.40 |
|
|
TaxDiscountValue |
VAT value |
185.40 |
|
|
NominalAnalysisTransactionValue/1 |
Summarised goods value by expensecode /cost centre (i.e. grouped data rather than invidvidual items) |
927.00 |
|
|
NominalAnalysisNominalAccountNumber/1 |
Accounts code (expense code) |
10000 |
|
|
NominalAnalysisNominalCostCentre/1 |
Cost center (as set against the location) |
TV |
|
|
NominalAnalysisNominalDepartment/1 |
Not Used - Blank |
||
|
NominalAnalysisNominalAnalysisNarrative/1 |
Amalgamated invoice number inv ref / inv number / comments |
1012/LW1/ |
|
|
Repeated to iteration 20 (as needed) |
|||
|
TaxAnalysisTaxRate/1 |
FRS TAX ID (duplication of Sage IDs) |
1 |
|
|
TaxAnalysisGoodsValueBeforeDiscount/1 |
Goods value |
927.00 |
|
|
TaxAnalysisDiscountValue/1 |
Discounted goods value - value - settlement value/ |
0.00 |
|
|
TaxAnalysisTaxOnGoodsValue/1 |
Tax value |
185.40 |
|
|
TaxAnalysisTaxDiscountValue/1 |
Hard coded |
0 |
|
|
Repeated to iteration 10 (as required) |
|||
|
0 |
Internal reference 0 = header 1 = lines |
1 |
Sales
File Structure Sales_YYYYMMDDhhmmss.cs
Deliveries and payments
|
Field |
Comment |
Example |
|---|---|---|
|
AccountNumber |
Location cost centre |
430 |
|
CBAccountNumber |
Deliveries uses the sales ledger control account payments are set to 01 |
|
|
GoodsValueInAccountCurrency |
Line amount including VAT |
1.41 |
|
SaleControlValueInBaseCurrency |
Line amount including VAT |
1.41 |
|
DocumentToBaseCurrencyRate |
Hard coded |
1 |
|
DocumentToAccountCurrencyRate |
Hard coded |
1 |
|
PostedDate |
Posting date (approval date not transaciton) |
05/09/2024 |
|
TransactionReference |
Sales order id for deliveries cash rec id for payments |
104804 |
|
SecondReference |
SO reference / Manual pad reference - sales cash rec id + tender type - payments |
SO504804/0465753 |
|
Source |
Hard coded |
1 |
|
SYSTraderTranType |
|
5 |
|
TransactionDate |
Activity date |
05/09/2024 |
|
UniqueReferenceNumber |
Internal FRS ID |
44356 |
|
UserNumber |
ACCOUNTS_USER application parameter - Sage user code |
4 |
|
TaxValue |
VAT value |
0.39 |
|
NominalAnalysisTransactionValue/1 |
Sales value without vat |
1.8 |
|
NominalAnalysisNominalAccountNumber/1 |
Blank for payments GL account code linked to the product group for sales |
5901 |
|
NominalAnalysisNominalCostCentre/1 |
Blank for payments Sales Location’s cost centre |
460 |
|
NominalAnalysisNominalDepartment/1 |
Not Used - Blank |
|
|
NominalAnalysisNominalAnalysisNarrative/1 |
Sales order number / manual pad reference Blank for payments |
SO504804/0465753 |
|
TaxAnalysisTaxRate/1 |
Blank for payments VAT code |
1 |
|
TaxAnalysisGoodsValueBeforeDiscount/1 |
Blank for payments Line value |
1.8 |
|
TaxAnalysisDiscountValue/1 |
Hard coded |
0 |
|
TaxAnalysisDiscountPercentage/1 |
Hard coded |
0 |
|
TaxAnalysisTaxOnGoodsValue/1 |
Blank for payments Line VAT for sales |
0.39 |
|
0 |
Internal reference 0 indicates a header row > 0 line detail. |
44356 |
Files from the Confluence page
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article