---
title: "Receiving and Reconciling Payments"
space: "VunaPOS"
url: "https://docs.navari.co.ke/vunapos/selling/receiving-and-reconciling-payments"
updated: "2026-08-05"
---

VunaPOS allows authorised users to receive customer payments and reconcile them against outstanding invoices without leaving the POS workspace.

This is useful when a customer returns to pay an existing balance, settles several invoices at once, or makes a payment that must later be matched to the correct ERPNext transaction.

VunaPOS uses ERPNext payment and reconciliation records as the source of truth. It does not maintain a separate payment ledger.

## Requirements

Before receiving or reconciling payments in VunaPOS:

1. Configure the required Modes of Payment in ERPNext.
2. Assign the correct company accounts to each Mode of Payment.
3. Ensure the user has permission to create payments.
4. Ensure the user has permission to view and reconcile customer invoices.
5. Confirm that the customer has submitted invoices with an outstanding balance.

Where gateway payments such as M-Pesa are used, the relevant payment integration must also be installed and configured.

## Receiving a Payment

Use **Receive Payment** when a customer is paying an existing outstanding balance rather than completing a new POS sale.

To receive a payment:

1. Open **Payments** from the VunaPOS sidebar.
2. Click **Receive Payment**.
3. Select the customer.
4. Review the customer’s outstanding invoices.
5. Select the invoice being paid.
6. Choose a Mode of Payment.
7. Enter the payment amount.
8. Add the payment reference where required.
9. Review the allocation.
10. Confirm the payment.

VunaPOS creates the appropriate ERPNext payment record and links the payment to the selected invoices.



![](/files/2026-08-05 07-45-27.mp4)

## Selecting Outstanding Invoices

After selecting a customer, VunaPOS displays invoices that still have an outstanding balance.

The list may include:

- invoice number
- posting date
- grand total
- paid amount
- outstanding amount
- due date
- payment status

The user can select one or more invoices depending on the payment being received.

For example:

```text
Customer: Acme Traders

ACC-SINV-2026-00120
Outstanding: KES 4,000.00

ACC-SINV-2026-00137
Outstanding: KES 2,500.00

```

If the customer pays KES 6,500.00, the payment can be allocated across both invoices.

## Partial Payments

VunaPOS can receive a payment that settles only part of an invoice where partial payment is allowed.

For example:

```text
Invoice Outstanding: KES 10,000.00
Payment Received: KES 4,000.00
Remaining Balance: KES 6,000.00

```

The invoice remains outstanding for the unpaid balance.

The remaining amount can be collected through another payment later.

## Unallocated Payments

A customer may make a payment before the exact invoice allocation is known.

Where supported by the configured ERPNext workflow, the payment can remain partly or fully unallocated.

For example:

```text
Payment Received: KES 10,000.00
Allocated: KES 7,500.00
Unallocated: KES 2,500.00

```

The remaining amount can later be reconciled against another invoice.

> **Note:** Whether unallocated payments are permitted depends on the accounting rules and permissions configured in ERPNext.

## Payment References

Some Modes of Payment require a transaction reference.

Examples include:

- M-Pesa transaction ID
- bank reference
- card authorisation code
- cheque number
- deposit slip number

Enter the reference before confirming the payment where required.

Payment references help with:

- reconciliation
- audit
- duplicate-payment checks
- customer enquiries
- bank and gateway matching





![](/files/2026-08-05 08-05-13.mp4)

## Payment Reconciliation

Payment reconciliation links an existing payment to one or more outstanding invoices.

Use reconciliation when:

- a payment was received without an invoice allocation
- the customer paid before an invoice was created
- a bank or mobile-money transaction must be matched later
- a payment was allocated to the wrong invoice
- several payments and invoices need to be matched

To reconcile a payment:

1. Open **Payments**.
2. Select **Payment Reconciliation**.
3. Select the customer.
4. Review available payments.
5. Review outstanding invoices.
6. Select the payment to reconcile.
7. Select the invoice or invoices to apply it against.
8. Enter or confirm the allocated amounts.
9. Review the remaining payment and invoice balances.
10. Confirm the reconciliation.

After reconciliation, ERPNext updates the linked invoices and payment allocations.

## Reconciliation Example

![](/files/2026-08-05 08-08-20.mp4)

## Matching Payments

Before applying a payment, confirm that the following details match:

- customer
- company
- currency
- payment amount
- transaction reference
- payment date
- Mode of Payment

VunaPOS should prevent reconciliation where the customer, company, or currency is incompatible with the selected invoice.

## M-Pesa Payments

Where the [navari\_ke\_payments](https://github.com/navariltd/navari_ke_payments.git) application is installed, M-Pesa payments may also be available for reconciliation.

A transaction can be identified using details such as:

- M-Pesa transaction ID
- phone number
- customer
- amount
- transaction date
- payment status

The selected payment is then applied to the appropriate invoice through the normal reconciliation process.

> **Note:** Receiving or selecting an M-Pesa transaction does not replace ERPNext payment allocation. The payment must still be linked to the appropriate invoice where required.

## What Happens in ERPNext

When a payment is received, VunaPOS creates an ERPNext payment entry record.

When reconciliation is completed, ERPNext records the relationship between:

- the customer payment
- the selected invoice or invoices
- the allocated amount
- any remaining unallocated amount

ERPNext remains responsible for:

- receivable balances
- invoice outstanding amounts
- General Ledger entries
- payment references
- reconciliation history
- customer account balances

VunaPOS provides the interface for completing these actions from the POS workspace.

## Permissions

Payment receipt and reconciliation should be restricted to authorised users.

A cashier may be allowed to receive payments but not modify previous allocations.

A supervisor or accounts user may be allowed to:

- reconcile payments
- remove incorrect allocations
- view all customer balances
- process larger payments
- handle unallocated amounts

Configure the required ERPNext roles and permissions according to your organisation’s controls.

## Important Notes

> **Note:** Always select the correct customer before receiving or reconciling a payment.

> **Note:** The total amount allocated across invoices cannot exceed the payment amount.

> **Warning:** Confirm the transaction reference before saving. Duplicate or incorrect references can make reconciliation and audit difficult.

> **Warning:** Reallocating a submitted payment may require additional permissions and should follow the organisation’s accounting controls.

## Common Problems

### No Outstanding Invoices Are Displayed

**Cause**

The selected customer may not have any submitted invoices with an outstanding balance.

**Resolution**

1. Confirm the selected customer.
2. Check the customer’s invoices in ERPNext.
3. Confirm the invoice is submitted.
4. Confirm the invoice still has an outstanding amount.
5. Reload the payment screen.

### Payment Amount Exceeds the Selected Invoices

**Cause**

The amount allocated is greater than the combined outstanding balance of the selected invoices.

**Resolution**

1. Review the invoice balances.
2. Reduce the allocated amount.
3. Leave the remaining amount unallocated where allowed.
4. Confirm the payment again.

### Payment Cannot Be Reconciled

**Cause**

The payment and invoice may belong to different customers, companies, or currencies.

**Resolution**

1. Confirm the customer on both records.
2. Confirm the company.
3. Confirm the transaction currency.
4. Select compatible records and retry.

### Transaction Reference Already Exists

**Cause**

The payment reference may already have been used on another payment.

**Resolution**

1. Verify the reference from the payment provider or receipt.
2. Search for the existing payment.
3. Do not create a duplicate payment.
4. Reconcile the existing record where appropriate.

### Invoice Still Shows an Outstanding Balance

**Cause**

The payment may not have been fully allocated, or the allocated amount may be lower than the invoice balance.

**Resolution**

1. Open the payment allocation.
2. Review the amount applied to the invoice.
3. Confirm the payment was submitted successfully.
4. Reconcile any remaining amount.

### User Cannot Receive or Reconcile Payments

**Cause**

The user may not have the required ERPNext permissions.

**Resolution**

1. Review the user’s assigned roles.
2. Confirm permission to create the relevant payment record.
3. Confirm permission to view invoices and perform reconciliation.
4. Ask a system administrator to update the permissions where necessary.