> For the complete documentation index, see [llms.txt](https://kb.bevica.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kb.bevica.com/bevica-select/opening-balances-inventory/bevica_select_-_purchase_ledger_opening_balances_template.md).

# Purchase Ledger Opening Balances Template

### Before you start

* Understanding the Configuration Worksheet: [Configuration Worksheet](/bevica-select/bevica_select_training/bevica_select_-_excel_template_data_migration.md#configuration-worksheet).
* Understanding Excel templates: [Excel Template Data Migration](/bevica-select/bevica_select_training/bevica_select_-_excel_template_data_migration.md#excel-template-data-migration).
* Understanding how financial opening balance imports work: [Bevica Select - Finance Data Migration Overview](/bevica-select/opening-balances-inventory/bevica_select_-_finance_data_migration_overview.md).
* Vendors must exist.

### Create a manual journal

If you would prefer to create the opening purchase ledger balance journal manually rather than importing a template, navigate to the General Journal and open the ZZ-DM journal batch. Populate the columns listed below except for:

* Journal Template Name
* Journal Batch Name
* Line No.

### Template

The template is a pre-formatted spreadsheet with the fields you need to create your opening purchase ledger transactions within Bevica.

You will need a list of open purchase ledger transactions from your old finance system. Only bring across open transactions, e.g., invoices, payments, credits, etc., that have not yet been matched off. If an invoice has been part paid, you need to bring across the remaining amount, not the original amount.

The total of the open transaction amounts must equal the purchase ledger control account in your old system.

The template has the following fields:

<table data-header-hidden="false" data-header-sticky><thead><tr><th width="182">Field ID / Field Name</th><th width="149">Related Table</th><th width="136">FieldType</th><th>Note</th></tr></thead><tbody><tr><td>1 <code>Journal Template Name</code></td><td>(82) Gen. Journal Template</td><td>Code 20 (Mandatory)</td><td>Enter GENERAL</td></tr><tr><td>51 <code>Journal Batch Name</code></td><td>(232) Gen. Journal Batch</td><td>Code 20 (Mandatory)</td><td>Enter ZZ-DM</td></tr><tr><td>2 <code>Line No.</code></td><td></td><td>Integer (Mandatory)</td><td>Must be a unique number per line. Line numbers normally start with 10000 and increment by 10000, for example 10000, 20000, 30000.</td></tr><tr><td>5 <code>Posting Date</code></td><td></td><td>Date (Mandatory)</td><td>Either use the Posting Date of the original transaction or set all Posting Dates to the date before go live. For example, if you are going live 01/01/22 then you could have all posting dates set to 31/12/21.</td></tr><tr><td>76 <code>Document Date</code></td><td></td><td>Date (Mandatory)</td><td>Either use the Document Date of the original transaction. Or if the Posting Date is the date of the original transaction then you could set the Document Date to be the same as the Posting Date. Note that the Due Date is calculated based on the Document Date and the customers payment terms.</td></tr><tr><td>6 <code>Document Type</code></td><td></td><td>Option (Mandatory)</td><td>• Invoice<br>• Credit Memo<br>• Payment<br>• Refund</td></tr><tr><td>7 <code>Document No.</code></td><td></td><td>Code 20 (Mandatory)</td><td>The transaction reference, e.g., invoice number.</td></tr><tr><td>77 <code>External Document No.</code></td><td></td><td>Code 35 (Optional)</td><td>Populate this if you have another reference to bring across, for example the vendor's invoice number.</td></tr><tr><td>3 <code>Account Type</code></td><td></td><td>Option (Mandatory)</td><td>Enter Vendor</td></tr><tr><td>4 <code>Account No.</code></td><td>(23) Vendor</td><td>Code 20 (Mandatory)</td><td>The vendor number in Bevica. Any value entered here must already exist in its related table.</td></tr><tr><td>8 <code>Description</code></td><td></td><td>Text 100 (Mandatory)</td><td>Enter a relevant description.</td></tr><tr><td>12 <code>Currency Code</code></td><td>(4) Currency</td><td>Code 10 (Optional)</td><td>Only populate this field if the transaction is in a foreign currency. If it is a foreign currency then populate this with the currency code, e.g., EUR, USD. Any value entered here must already exist in its related table.</td></tr><tr><td>13 <code>Amount</code></td><td></td><td>Decimal (Mandatory)</td><td>Enter the outstanding amount of the transaction. Must be a credit amount (negative) for invoices and refunds, and a debit amount (positive) for credit memos and payments. If it is a foreign currency transaction this is the amount in the foreign currency.</td></tr><tr><td>14 <code>Amount (LCY)</code></td><td></td><td>Decimal (Optional)</td><td>Leave blank if the transaction is in local currency. Populate it with the local currency amount if the transaction is in foreign currency. The system will then work out the exchange rate based on the 'Amount' and 'Amount (LCY)' values.</td></tr><tr><td>11 <code>Bal. Account Type</code></td><td></td><td>Option (Mandatory)</td><td>Enter G/L Account</td></tr><tr><td>63 <code>Bal. Account No.</code></td><td>(15) G/L Account</td><td>Code 20 (Mandatory)</td><td>Enter ZZ9920</td></tr><tr><td>38 <code>Due Date</code></td><td></td><td>Date (Optional)</td><td>Bevica will default a Due Date based on the Document Date and the vendor's payment terms. This may be different to the due date on the transaction in your old system therefore you may prefer to enter the Due Date and not use the defaulted date.</td></tr><tr><td>Dimensions**</td><td></td><td>(Optional)</td><td>Enter the relevant dimensions. Any value entered here must already exist in its related table.</td></tr></tbody></table>

### Upload the journal

Once the template has been applied, navigate to the General Journal **ZZ-DM** batch and check that the journal holds the same information as the data migration template used.

* Ensure all columns you have imported data into are visible (with the exception of Journal Template Name, Journal Batch Name, and Line No.).
* Have all the lines been imported?
* Select a number of lines at random, including some foreign currency ones if you have any. Are they all correct and are the Amount and Amount (LCY) values both correct?
* Export the journal lines to Excel and make sure the details look correct including dates and values.
* Select **Process** then **Reconcile**. Check the **Net Change in Jnl.** value against account ZZ9920. This should match the total of your vendor ledger control account in your old system. If this doesn't match, but the total of the file you uploaded does match, then something isn't correct with the journal lines. Try checking lines one by one to see where the issue lies, especially foreign currency lines.
* Select **Post/Print** then **Preview Posting**. Check the entries that will be posted look correct.

### Post the journal

Before **Posting** any opening balances, it is a good idea to copy the company as a backup, so you have a point to return to if there are problems once the **General Journal** has been posted. See [Bevica Select - Creating new Bevica companies](/bevica-select/bevica-select-data-migration/bevica_select_-_creating_new_bevica_companies.md) for details on how to do this.

### Reconcile

Once Posted, the entries need to be reconciled with the values from your old system. The following should be checked:

* Balance on vendor accounts. Check that the figures on your old system and Bevica match. On the Vendor List page, you will see the Balance (LCY) field which will be the total for that vendor in your local currency.
* Run the Aged Accounts Payable report and check that the totals and ageing columns are correct. Note these will only match your old system if you have brought across the same due dates.
* Check the General Ledger 'Purchase Ledger' balance on ZZ992 and 5410.

Another trusted user, rather than the person who created and posted the opening balance, should perform these checks. They should do this using their own data source from your previous system and not rely on the migration files you used in case there were errors on those.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://kb.bevica.com/bevica-select/opening-balances-inventory/bevica_select_-_purchase_ledger_opening_balances_template.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
