> 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/documentation/guides/finance-and-cash/contra_balances.md).

# Contra Balances

Offset customer and vendor balances using contra processes and postings.

Bevica’s **contra processing** feature streamlines financial management for organisations that act as both customer and supplier by automatically **netting off payables and receivables** linked to the same trading partner. It identifies offsetting balances, calculates the net position, and posts only the resulting payment or receipt—removing the need for manual spreadsheet calculations. The process maintains a full audit trail, supports review and approval before posting, and reduces unnecessary cash movements while preserving complete visibility of all underlying customer and vendor transactions.

{% hint style="warning" %}
**Prerequisites**

Customer has been created and set up.
{% endhint %}

### Linking Customers to an existing Vendor

To link a Vendor to a Customer account:

{% stepper %}
{% step %}

### Step 1

Choose the search icon, enter **Customers**, and then choose the related link.
{% endstep %}

{% step %}

### Step 2

Open the required Customer Card and navigate to the **Contra Balances** fasttab.
{% endstep %}

{% step %}

### Step 3

Populate the **Contra Vendor No.** field with the Vendor No. This automatically populates the corresponding field on the Vendor Card with the current Customer No.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Vendors already linked to a Customer No. will not appear in the dropdown list.
{% endhint %}

### Linking Customers to a new Vendor

**This feature requires the Customer to be linked to a CRM Contact.**

The routine can be accessed from either the **Customer card** or **Broking Worksheet** pages.

{% stepper %}
{% step %}

### Step 1

Navigate to **Customers** or **Broking Worksheet**.
{% endstep %}

{% step %}

### Step 2

On the Customer Card go to Actions, Functions, **Create & Link Vendor**. *OR* On the Broking Worksheet, Actions, **Create & Link Vendor**.
{% endstep %}

{% step %}

### Step 3

This will ask you to select a **Vendor Template** that then creates the Vendor, linking it to both the Customer **Contact** and the **Contra Vendor No.** field on the Customer card.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
The process will error if the customer is already linked to a Vendor via CRM Contacts. If this is the case you will need to populate the **Contra Vendor No.** field manually on the Customer Card.
{% endhint %}

***

### Suggest Contra Payments

Bevica can automatically propose a **contra journal** that nets the two balances against each other. This avoids manual reconciliation and reduces unnecessary cash movement.

The system uses the **linked Customer/Vendor records** together with the **Offset to Customer** setting on the Vendor card—configured as **No Contra**, **Partial Contra**, or **Full Contra**.

### Vendor Card <a href="#vendor-card" id="vendor-card"></a>

{% stepper %}
{% step %}

### Step 1

Choose the search icon, enter **Vendor**.
{% endstep %}

{% step %}

### Step 2

Open the required Vendor Card and navigate to the **Contra Balances** fasttab.
{% endstep %}

{% step %}

### Step 3

Populate the **Offset To Customer** field and populate it with the required option.
{% endstep %}
{% endstepper %}

The **Offset to Customer** field determines how the **Suggest Contra Payments** routine creates payment journal lines to move balances from the vendor to customer.

* **No Contra:** no contra entries are suggested by the system. Any contra postings must be created manually.
* **Partial Contra:** if the customer balance is greater than the vendor balance, the contra entry will be for the vendor balance. If the customer balance is less than the vendor balance, the contra entry will be for the customer balance.

  For example:

  Customer balance of 2,000, vendor balance of 1,500: contra entry will be 1,500.

  Customer balance of 2,500, vendor balance of 3,000: contra entry will be 2,500.
* **Full Contra:** generates contra entries for the full vendor balance.

  For example:

  Customer balance of 2,000, vendor balance of 1,500: contra entry will be 1,500.

  Customer balance of 2,500, vendor balance of 3,000: contra entry will be 3,000.

{% hint style="info" %}
The Vendor and Customer accounts must have the same currency to set the **Offset to Customer** field.
{% endhint %}

### Suggest Contra Payments routine <a href="#suggest-contra-payments-routine" id="suggest-contra-payments-routine"></a>

{% stepper %}
{% step %}

### Step 1

Choose the search icon, enter **Payment Journals**, and then choose the related link.
{% endstep %}

{% step %}

### Step 2

If you would like to have contra payments processed in their own batch, create a new CONTRA journal batch.
{% endstep %}

{% step %}

### Step 3

After selecting the required Batch, on the page ribbon select Prepare, **Suggest Contra Payments**. The Options section gives you the ability to modify the routine's behaviour.
{% endstep %}
{% endstepper %}

| Option                 | Note                                                                                                                                                                |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Last Payment Date      | The routine selects Vendor and Customer Ledger Entries with a Due Date up to and including this date. This field defaults to today's date and is a mandatory field. |
| Posting Date           | Set the Posting Date to be applied to journal lines. This field defaults to today's date and is a mandatory field.                                                  |
| Starting Document No.  | Set the starting document number for the journal lines. This is a mandatory field.                                                                                  |
| New Doc. No. per Line  | New Doc. No. per Line                                                                                                                                               |
| Apply Customer Entries | Set this to automatically apply customer entries.                                                                                                                   |
| Apply Vendor Entries   | Set this to automatically apply vendor entries.                                                                                                                     |

The routine can also be filtered to determine which Vendors are included.

On clicking OK, multiple journal lines are created given the Vendor card and routine set up.

***

### Viewing Contra Balances

The balance amount fields listed below are available from the **Customer Card**, Contra Balances fasttab, and **List** pages:

* Vendor Balance
* Vendor Balance (LCY)
* Vendor Balance Due
* Vendor Balance Due (LCY)

Additional fields are available on the Customer Statistics page.

The balance amount fields listed below are available from the **Vendor Card**, Contra Balances fasttab, and **List** pages:

* Customer Balance
* Customer Balance (LCY)
* Customer Balance Due
* Customer Balance Due (LCY)

Additional fields are available on the Vendor Statistics page.

{% hint style="info" %}
On either the Customer or Vendor List pages you can add **Balance** and **Contra Balance** fields, export the list to Excel to be able to calculate a net position.
{% endhint %}


---

# 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/documentation/guides/finance-and-cash/contra_balances.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.
