ERPNext Expenses Doctype

Hello everyone

There’s always been an interest in having an easier way to capture ERPNext expenses rather than making Journal Entries because this is somewhat technical. So upon request a clients request, my team has built a simple app that we’d like to see integrated into the ERPNext core when it’s ready.

It’s a two-step process with some automated actions:

  1. Create an Expense Entry (and approve it)
  2. A journal entry is created for you

Here’s a print preview:


There’s still quite a bit to do, including (priority order):

  1. Add all the fixtures to the app so that it is fully portable
    a. Workflows
    b. Accounts Settings Fields

  2. Fix minor issues
    a. Approver field vanishing
    b. Cant set custom print format as default

  3. Complete functionality
    a. Alert Approvers
    b. Print Format polish-up
    c. Add settings fields to Accounts Settings

    • Section: Expenses
    • Checkbox to Automatically Create Journal Entries
    • Settings - Default Expenses Payment Account
  4. Tests

Find the app here: GitHub - the-bantoo/expense_request: ERPNext Expense Requests


Please offer your suggestions and/or assistance. Any features you think should be added or changed.

I also need help or orientation on the tests, I’m inexperienced in that area.


I think it should also contain Tax window (Purchase Tax) as lots of non item expense also have govt tax and that should be auto calculate from selecting from purchase template


Thanks @sumit_chourey. At what point in the expense lifecycle do you think Tax should be done?

Here’s how a typical expense lifecycle

  1. Expense Request (ER)
  2. Payment Disbursement (ER)
  3. Expenditure (ER)
  4. Expense Entry (EE) - Pick taxes and charges template here?
  5. Journal Entry (JE)

Perhaps these states should be split into 3 doctypes as shown in brackets?

Yes On the time of expanse entry-level only and so could be cross verify in JE

1 Like

Looking good :+1:

Each line of expense should have option to select the Cost Center,Project,the party type ,party and remark.


Yes, good suggestion.

But I think the party should not be selected but freely typed. So it can be used for ad-hoc expenses. Anyway I think mostly it will be used for non-recurring expenses.

And Cost Center doesn’t need to be per line, but per document is enough.

1 Like

This is what has been done so far. The Party Field, called Payment To (similar to Payment Entry) is a Data type field so its freely typed.

@Fred1 please note that as much as you can do several entries on a single document, I think the document should be optimised for quick single or few expenses at a time as is the traditional Expense Voucher. That said, I’m open to suggestions.

The reason for this is to make it very easy and comfortably to use as that’s the point of this doctype.

Sorry, cost center must be per line for the app to be usable because each expense transaction may be incurred by different cost center.The Party and Party type is also good to be included so that if you want to pay an expense to be tracked to a party you can also use it (although this may be optional since the current AP can handle that)


Sounds reasonable. I’ll slot these into the roadmap

Agree that each expense transaction may have their own cost center.
But what I usually do is to open a form and input all expenses in the same cost center.
Then open another form to input for other cost center.
This way it is easier to see all expenses in the same cost center within one form. And for me it is quicker as well.

1 Like

We made a work around for this.
We created a new doctype “BIR Company” this is for regulatory purposes only (Registered Business Name, TaxID, Address).

  • For utilities and bills, on Purchase Invoice.
  1. Customize “Purchase Invoice Item” add a column with link to the created doctype.
  2. Create a report showing the new doctype per line item. “Purchase VAT and EWT”
  1. On Expense Claim
    -Add a link to “Purchase Taxes and Charges Template” renamed to “Expense Taxes and Charges Template” where it will prefill the “Expense Taxes and Charges” table base on the template selected all should be 0 rate.
  2. On Expense Claim Detail, add the following columns:
    -Gross Amount
    -BIR Company (link)
    -Item Tax Template (link)
  3. Customize Expense Claim (backend) to apply calculations. Sanction amount should be less the taxes and charges as the Employee is will not compute for it and so is the Taxes and Charges.
  4. Create a report showing the new doctype per line item. “Expense VAT and EWT”

Remaining field/feature missing is Cost Center and Project per line item like how Purchase Invoice is doing.

I hope you can find some values on this.

1 Like

@rahy This will be impractical in real life organised and structured business environment.The truth is that Expense Claim already has this features and can be used to handle business expenses.In fact with little customization,PI can be used used to record business expenses.We have done that successfully.

Hi @Fred1,
Which one is impractical?

@rahy But what I usually do is to open a form and input all expenses in the same cost center.
Then open another form to input for other cost center.

About the cost center, I strongly suggest that you let it in lines.

Or you can have a Main Cost Center, in the top, but with the ability to change in lines.

We have a lot of different business realities and is important to keep it simple and flexible.


Good Job @adam26d

I will advise that you keep this very simple. Worse case scenario add a document Cost Center field (not Line item).

This is meant to be a quick and simple expense form, any one that needs more can use any of the three doctypes already available in ERPNext .




Hey guys,

Thank you so much for the input. I really appreciate it

Cost Centers

Sure, I’ve added Projects and Cost Center to the document as defaults, and per line as specific.


@Fred1 the journal Entry only allows Supplier Party on the creditors account, I havent tested the effects of ignoring this but I thought it was a good idea and would like to look into it. Likely later as I cant test it right now.

Keep contributing!

I also like the idea of having some expenses recur automatically, like rent or server costs. I’ll look into subscriptions later (is it still called this?)

If you have a bit of time on your hands and can help with the testing or development, please join in on telegram. Otherwise please continue giving your ideas on this thread.

1 Like

@adam26d well done.Since it is payment, accepting supplier as party under creditor should be the norm and it will be great if you test it and incorporate.Subscription is called now auto repeat.Including it sound good