Payment value more than Invoice

I have the following problem.
I bought an equipment for say $1000 + 20%VAT. I got pro-forma Invoice for $1200 which I paid. Then I received Invoice for $1000 because in EU we don’t pay VAT between states. Basically the pro-forma Invoice was wrong and I overpaid. Then I got $200 credit from the supplier.

How do I do the entries in ERPNext?
I’d like to create an Invoice for $1000, but with payment of $1200 and then create bank journal entry for $200. But this doesn’t work as payment can’t be more than invoice. (it can be less, but not more). What I would like to see in my general ledger is:

 Account                 Debit        Credit     Voucher Type        Against Account
 Electronics - SG        1000         0          Purchase Invoice    Supplier01
 Creditors - SG          0            1000       Purchase Invoice    Electronics - SG  
 Bank - SG               0            1200       Purchase Invoice    Supplier01
 Bank - SG               200          0          Purchase Invoice    Supplier01

Can anyone suggest how to achieve something like this? I tried checking the “is paid” checkbox directly on Purchase Invoice but that doesn’t work and I get 1000 into general ledger against Bank Account. That is the problem. I’d like to see 1200 in Bank Account because that is what I paid…and then $200 payment from Supplier.


Hi bedo,

Considering your workflow, following is the order in which transactions should be made.

  1. Purchase Order (Proforma Invoice)
    2 ) Make Payment from Purchase Order.

  2. Create Purchase Invoice from Purchase Order.

In Purchase invoice delete the taxes, as it is not applicable in your scenario.
Try to save it will give message "Advance cannot be greater than the invoice amount ".

As shown below edit the allocated amount to 1000 and save.

Below is the general ledger that will be generated.