How to link Employee Advance with Purchase Invoice payment (Employee paid supplier)

Context:

We have a real business case where an employee uses company advance money to purchase items from a supplier.

Business flow:

  1. Company gives an advance to Employee A → recorded as Employee Advance (Debit 141 - Employee Advance A, Credit Cash/Bank).
  2. Employee A uses that money to pay the supplier on behalf of the company (Supplier X).
  3. Later, the company receives the supplier’s Purchase Invoice.

Problem:

When we record the Purchase Invoice, the system only allows payment using Supplier (Creditors) accounts.
However, the advance balance is sitting in Employee Advance (Employee A) account.

In Journal Entry, we cannot select Party Type = Employee when using account 141.
So, there is no way to automatically link the advance from Employee A to the Purchase Invoice (Supplier X).


Expected behavior / Desired outcome:

We want ERPNext to:

  • Allow using Employee Advance as a payment source for Purchase Invoice.
  • Or have a method to reconcile the Employee’s advance with the Purchase Invoice that was paid by that employee.

Workarounds tested:

We tried several methods:

  1. Manual Journal Entry from Employee A (141) to Supplier X (331):
  • It reduces both accounts correctly, but cannot link the entry to the Employee Advance record or Purchase Invoice.
  1. Using Payment Entry: Only allows Party Type = Supplier or Customer → Employee cannot be selected.
  2. Custom script idea: Not possible for us because we are not developers.

Question to the community:

:point_right: Is there any standard ERPNext way to handle this flow:
Employee uses company advance to pay a supplier, and we want to settle both Employee Advance and Supplier Payable properly in the system?

If not, what is the best accounting or functional workaround to ensure:

  • Employee Advance is cleared
  • Supplier Payable is marked as paid
  • And both are linked for future audit traceability
1 Like

Hi @thanhtrinh

Please create mode of payment in the name of the employee and link his petty cash GL account with it.

While recording payment entry against supplier / employee, tag that mode of payment and deduction will be made from employee account and payable will be settled as well.

Thank you for your suggestion.
However, creating a separate Mode of Payment for each employee may not be practical in our case.

We are a gas distribution company with hundreds of employees (over 1,000 in total).
If we create one Mode of Payment and one petty cash GL account per employee, it will lead to serious maintenance issues — the accounting chart will become extremely complex and difficult to manage.

Our goal is to keep a single “Employee Advance” control account (141) and track individual employee balances via the Employee Advance document, not by creating separate GL accounts or payment modes for each person.

What we need is a way to:

  • Use an existing Employee Advance record as a payment source when settling a Purchase Invoice (when the employee has paid the supplier),
  • And automatically reduce both the Employee Advance and the Supplier Payable.

Is there any recommended way to achieve this, either by linking Employee Advance to Payment Entry or allowing cross-party settlement (Employee → Supplier) without creating new GL accounts per employee?

1 Like

@thanhtrinh have you found any solution?
we have exactly in same scenario

Hi @thanhtrinh I found a solution hope it’ll also work for you
You can easily handle this through a Journal Entry, by linking both documents (Purchase Invoice and Employee Advance) as references.

:receipt: Steps

  1. Go to:
    Accounts → Journal Entry → New

  2. Add two lines:

    Account Debit Credit Reference Type Reference Name Remarks
    Creditors -Supplier :white_check_mark: (Debit) Purchase Invoice Select the supplier’s Purchase Invoice Adjust supplier payment made by employee
    Employee Advances -Employee :white_check_mark: (Credit) Employee Advance Select the employee advance record Reduce employee advance balance
  3. Save and Submit the Journal Entry.


:counterclockwise_arrows_button: Result

  • The Purchase Invoice gets marked as Paid (since it’s referenced in the JV).

  • The Employee Advance balance is also reduced (since it’s referenced in the JV)..

  • The accounts remain perfectly reconciled, and the audit trail stays clear.

    Employee Advance line in jv

supplier line in jv

1 Like

Just tested, it works, thanks