Purchase Invoice Unpaid not in Report

Is there a way to keep a purchase invoice that is NOT marked as paid from being in the P&L and expenses until its marked paid? I put an expense in to track it that its made, but I don’t need that being a part of my P&L and an expense until after I make a payment against that purchase invoice. But once I submit an invoice and it says unpaid, its part of the expense already. I don’t want it as a draft, since I might need to make partial payments against it and have those payments count as expenses. Any way to do this?

Hi there,

Putting unpaid invoices on your P&L is pretty fundamental to how accrual accounting works. It sounds like you’re looking for cash basis accounting, which ERPNext can sort of handle but isn’t really designed for.

Your best bet is probably to process them all initially as Purchase Orders and then book the invoices only when payment is made.

2 Likes

More steps means more time for each process we do, I’m trying to do as few steps as possible to save time and streamline the process. No way to edit settings and stop it from doing what I mentioned?

No, not that I’m aware of. ERPNext doesn’t really do cash basis accounting. You can make it work, but it’s not what the doctypes and workflows are designed to support.

The issue is more than just a setting for reports. Purchase Invoices write expenses and liabilities to the General Ledger when they are submitted.

Edited to add: What I’m suggesting doesn’t involve extra steps. Right now, you’re using an accrual process Purchase InvoicePayment Entry. If you don’t want the accrual on your books, you could do Purchase OrderPurchase Invoice (with payment included) instead.

If you’re trying to approximate cash basis accounting, you really shouldn’t be using the Payment Entry doctype at all.

All this time I was under the understanding that a “Payment Entry” was needed to mark the final invoice as paid. Is that not necessary?

Anything that clears the payable liability on the invoice will mark it as paid.

A Purchase Invoice creates a liability to a creditor (accounts payable). A Payment Entry settles that debt. In accrual basis accounting, those are two separate steps. If you’re using cash basis accounting, you don’t have accounts payable. Expenses and payments should always be booked as part of the same transaction.

You can do that by checking the “Is Paid” field on your invoices. From the sounds of it, you probably don’t ever want to submit an invoice without marking it Is Paid. It might even be worth setting the value as checked by default and hiding the field so it never gets forgotten by mistake.

https://docs.frappe.io/erpnext/user/manual/en/purchase-invoice#42-accounting-when-is-paid-is-checked