This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.


Within the Finance function there are many separate modules. Although Accounts appears in the top menu and behaves like a normal module it is in fact a ‘group container’ for all of the Finance related modules.

1 - Cash Book

The Cash Book module provides a record of the cash received and paid out within each bank account.

The Cash Book module provides a record of the cash received and paid out within each bank account. It is fully multi-currency and closely linked to the other accounting ledgers.

Generally, most of the transactions for the Cash Book will be input automatically from the Sales and Purchase ledger modules in the form of receipts and payments. However, there are always entries that need to be posted directly, for instance:

  • Tax transfers to the regulatory authorities

  • Wages and Salaries payments

  • Direct payments for settlement of expense claims or credit card purchases

The above payments types, and more, can be entered directly into the Cash Book and allocated to General Ledger income, expense, asset or liability accounts. In addition, the VAT on these transactions can be accounted for where applicable.

Although normally used for Bank accounts separate accounts can be set up for petty cash, merchant services (such as Worldpay, Paypal, Visa or Mastercard) and business debit cards.

Features of this module include

  • Unlimited Bank accounts each allocated a unique General Ledger account code and cost centre combination

  • Entry of payments or receipts in any defined currency

  • Payments can be linked to contacts including those not defined in Purchase or Sales Ledgers

  • Account for VAT directly on payments or receipts

  • Transfers of funds between bank accounts in the currency of the paying OR receiving account

  • Easy check box style reconciliation to statement

Entering a payment

Bank reconciliation

Periodic Payments/Receipts

Periodic payments are used for direct debits or standing orders (payment OR receipt). They can be set up for Purchase Ledger payments or Sales Ledger receipts as well as direct Cashbook payments. Information on how to set them up is here

Once set up Period Payments will appear in the overdue periodic payments uzLET within cashbook to remind you to post them.

2 - General Ledger

For detail on how to set up the general ledger refer to the Ledger Set Up section

3 - Payment Terms

Payments terms are used in the sales and purchasing systems to determine when transactions are due for payment and whether discount should be applied.

  • Description - for example 30 Days from Date of Invoice

  • Basis - the basis of calculation of the due date either by reference to the Invoice date or Month end date

  • Days - the number of days from the base day

  • Months - the month end used in the base day

  • Discount - a percentage which is used in Sales Ledger to calculate the settlement discount applicable to the transaction

Each Customer or Supplier is allocated a payment term from this table. Examples

Description Basis Days Months Discount
45 Days from Invoice Date Invoice 45 0 0
End of Month following Invoice Date Month 0 1 0
End of Invoice Month plus 75 days with 2.5% Discount Month 75 0 2.50
End of Month 2 following Invoice Date Month 0 2 0

4 - Purchase Ledger

The Purchase Ledger is used to record details of financial transactions between your company and your suppliers. With it you can record supplier invoices and control their payment.

A typical workflow for Purchase Ledger is as follows:

  • Add a supplier record for contacts already in the system
  • Create invoices from Goods Received Notes or enter invoices and credit notes directly using the Purchase Invoicing module and post to the ledger;
  • Post credit and debit journals to the Purchase Ledger for contras and the like;
  • List un-posted invoices periodically to clear any queries;
  • Select invoices which are authorised and due for payment into payment batches with optional filters including paying bank account, payment method, supplier classifications - uzERP can process a number of payment batches in parallel, e.g. for different payment methods;
  • Produce a list of items selected for payment;
  • Review the selection on screen and optionally remove some transactions from the paymePurchase Ledger nt run;
  • Pay the transactions selected and produce payment documents (cheques, remittance advices etc) where required or generate payment files for BACS;
  • Make ad hoc or manual payments (e.g. a hand written cheque) by supplier and match with invoices settled;
  • Pay an amount to a supplier which is not yet allocated to an invoice;
  • Allocate cash and credits to invoices and other debit transactions.

In common with all modules Purchase Ledger uses progressive disclosure to display information about suppliers and transactions. There are also several dashboard uzLETS to provide quick access to useful information.


Supplier records need to be added based on already existing Accounts from the Contacts module

  • Supplier * - the suppliers’s name is selected from the accounts which have not already been allocated as a purchase ledger supplier;
  • Payee Name * -
  • Remittance Advice - a boolean (Yes/No) to determine if a remittance is produced for this supplier;
  • Currency * - the currency of the account;
  • Bank Account - the bank account the supplier is normally paid from;
  • Credit Limit * - a credit limit which can be used for supplier planning purposes;
  • Payment Term * - the payment terms agreed with this supplier which will be used to calculate due dates on invoices;
  • Payment Type * - how this supplier is normally paid;
  • Tax Status * - determines if tax (VAT) is charged and if the supplier is included in EU Intrastat reports;
  • Receive Into - where goods are normally received from this supplier;
  • Order Method -
  • Email Order -
  • Email Remittance -
  • Sort Code/Account Number/Bank Name Address/IBAN Number/BIC Code - banking information. Items marked * are mandatory.


Payments and Allocation

Manual payments are handled

[[Batch payments]] on the other hand have a defined procedure.

Ledger Transaction Status Codes Reference

Some reports may show raw status codes against each transaction. Each code has the following meaning:

  • N = New
  • O = Open
  • Q = Query
  • R = Part Paid
  • P = Paid

5 - Purchase Ledger Batch Payment

Needs review:

  • Remove site specific links
  • Include information on injector classes for BACS and Dummy

Make sure that the default printer is set to the cheque printer before you start this procedure.

To select batch payments go to the purchase ledger suppliers list and use the Select For Payment action on the sidedbar.

to select items by payment type and customer - tick boxes required and check total before saving.

Then use the Selected Payments action which will show the selected payments (no of items etc) clicking the currency link will take you to a list which can be printed and checked - at this point you can still back out.

Enter all details for the payment run, i.e. the bank account, batch reference etc. At this point if you click PAY the purchase ledger is updated and the invoices are allocated per the payment run. If you click PAY you cannot back out.

After the PL is updated go to this screen and there will be batch that says ‘process’. Clicking process prints the cheques to the default printer that you have set - MAKE SURE THEY ARE LINED UP AND THE DEFAULT PRINTER IS SET TO THE CHEQUE PRINTER BEFORE YOU PROCESS. The cheques will now print.

Once they are printed, on the next screen, enter the cheque numbers (start and finish) and the PL and cashbook will be updated to reflect the cheque numbers.

You will then be taken to the print remittance screen where you can print or send the remittance advices.

Once the cheque run is complete, if you go here you can click the date to get a list of the cheques raised as in the example here The details link gives you the details.

BACS processing

Available integration to HSBC BACS standard 18 file format.

By setting up an email address tagged ‘REMITTANCE’ under the system company this will act as the return address for the remittance.

6 - Sales Ledger

The uzERP Sales Ledger allows you to create and maintain information about your customers. Invoices are entered in the [Sales Invoice Register](Sales Invoice Register) system when you sell goods and services and cash receipts and other credit transactions can be allocated against the invoices.

The Sales Ledger is an open item system which means that the invoices remain outstanding until they are removed by having credit items (cash, Credit Notes) allocated to them. Postings are made to the General Ledger and the Tax system automatically.

Tips and tricks for Sales Ledger are here.


The customer is the basic unit within the Sales Ledger to which all other pieces of data are related. All transactions are entered against a customer.

Basic Information:

  • Name * - the customer’s name is selected from the accounts which have not already been allocated as a sales ledger customer;

  • Statement - a boolean (Yes/No) to determine if a statement is produced for this customer;

  • Currency - the currency of the account;

  • Bank Account - the bank account the customer normally pays into;

  • Credit Limit * - a credit limit which can be used for credit control purposes;

  • Payment Term * - the payment terms agreed with this customer which will be used to calculate due dates on invoices;

  • Payment Type * - how this customer will normally pay;

  • So Price Type - the price type, if allocated, dictates the price used during Sales Order Processing;

  • Tax Status * - determines if tax (VAT) should be charged to this customer and if the customer is included in EU Intrastat reports

  • Despatch From - which warehouse this customer’s goods are normally sent from

  • Sl Analysis -

  • Invoice Method -

  • Email Invoice -

  • Email Statement -

  • EDI information -

Items marked * are mandatory.


Receipts and Allocation

Customer Discounts

The customer discount matrix allows individual discount percentages to be allocated by product group. These discounts are then applied during Sales Order Processing.

Credit Control

7 - VAT Module

VAT Returns

Menu: Accounts > Tax > VAT & Intrastat

This will display a list of VAT returns and their status. To view a VAT return and have more options, click the year on the far-left that corresponds to a particular return.

VAT Return View

This view shows the VAT values, submission receipt details and provides actions and reports for a return.


  • Update VAT Position, Recalculates the values of the VAT return using the current state of accounting records.
  • Close VAT Period, Recalculates the values of the VAT return and marks the VAT period as closed. No further changes can be made.
  • Submit VAT Return, Submit the VAT return to HMRC using Making Tax Digital.
  • Print VAT Return, Print, view or email a paper copy of the VAT return.
  • View Transactions, View transactions relating to VAT Inputs, Outputs, EU Sales and EU Purchases. These reports can also be printed and output to email or CSV file.

Making Tax Digital

VAT-registered businesses with a taxable turnover above the VAT threshold are required to use the Making Tax Digital (MTD) service to keep records digitally and use software to submit their VAT returns from 1 April 2019. The VAT module enables you to submit VAT returns directly from uzERP to HMRC.

uzERP is an HMRC recognised solution for Making Tax Digital for VAT. We configure the systems of customers who have support agreements to use Making Tax Digital for VAT to submit VAT returns.

Configuring MTD

The configuration file for MTD is conf/oauth.yml. Other Oauth2 integrations may also be configured in the same file.


    clientid: 'ms1iIWBBPqEUYYWy90fCzlR3sgsa'
    clientsecret: '9253d6ef-15ca-42d7-a7f7-07a8a0a682c2'
    clientuuid: '606be9ed-4125-501b-93f1-86439f45bfda'
    baseurl: ''
    redirecturl: 'http://localhost:8080/?module=vat&controller=vat&action=index'

The clientid, clientsecret are provided to developers by HMRC. Supported uzERP customers are provided these values, along with the clientuuid by uzERP LLP, see

clientuuid is an RFC4122 version5 uuid, using a SHA1 hash and the X500 namespace, that encodes the user company name. For example, on a Linux operating system the following command would generate a unique client uuid:

$ uuidgen --sha1 --namespace @x500 --name "O=Global Widgets Ltd."


Authorising uzERP to Access VAT Records

Once your uzERP system is configured for MTD you need to authorise it to read your company’s VAT records and post returns.

In the menu, go to: Accounts > Tax > VAT & Intrastat

Your browser will redirect to a page on the HMRC website where you will need to log-in with your credentials and authorise uzERP for MTD. Following authorisation, you will be returned to the list of VAT returns in uzERP.

Fraud Protection Headers

By law uzERP must send additional information called Fraud Prevention Headers when submitting VAT returns to HMRC. The headers may contain personal information and the HMRC have published a Data Protection Impact Assessment.

Fraud Prevention Headers sent by uzERP:

Header Name Content
Gov-Client-Connection-Method OTHER_DIRECT
Gov-Client-Device-ID clientuuid (see above)
Gov-Client-User-IDs uzERP user name of the logged-in user
Gov-Client-Timezone Current timezone offset from UTC, e.g. UTC+01:00
Gov-Client-User-Agent Operating system information, e.g. Linux 5.1.6-300.fc30.x86_64 #1 SMP Fri May 31 17:43:23 UTC 2019 x86_64
Gov-Vendor-Version uzERP version number