How to track revenue by Rig/Well in Selling module


We are setting up and subscribing for SME in Oil field services where it is necessary to track and report revenue by Rig/Well.

Can anyone please help and illustrate how and in which screen these values can be managed and entered?

Many thanks in advance

Can you please explain what time of services do you offer to your clients and what is the association of your services with Rig/Well?

If you are selling oil from different Rig/Well, then it might make sense to treat each Rig/well as a Warehouse and pull Gross Profit report by Warehouse

Services we offer to our clients are oilfield services such as wireline, drilling, cementing, etc. and these services are conducted in a well using a rig in a particular field.


So are well and Rig separate entities?
A Customer can have 1 Well and
A Rig can service multiple Wells and Customer

Is this association correct?

Yes separate entities. and the association is correct

Thank you for your time

Simpler Option:
Create Wells and Rigs as entities in your Cost Center Tree and use them in your Transaction.
You can automate the fetching of Wells and Rigs using Fetch from in Customise Form or Custom Script

Advanced Option: Use Accounting Dimension

  1. Create the following Doctypes: Well and Rig (Make sure you create these in Custom App)
  2. Store Associations in Masters: Well to Customer in Customer Master, Rig can be used for any customer, so cant store any association
  3. Define Well and Rig as Accounting Dimension (Mandatory on P&L Transaction)
  4. Automate setting of Accounting Dimension based on Association via Customise form (fetch from) or Custom Script
  5. You should now be able to view all Accounting reports based on these Accounting Dimension

Refer to my video on Accounting Dimension for detailed explanation

Documentation on Accounting Dimension: Accounting Dimensions

Hope this helps
Good Luck

This would absolutely work. And if you want a somewhat in-between, you can do something like this.

  • Create accounting dimensions for “Well” and “Rig” and make them mandatory.

  • For every transaction, you would have to enter both fields manually if you didn’t opt for the customizing mentioned above.

  • Create center groups under “Well” that are fields/leases (Smith Field, Jones Field, etc.) and under the groups create centers for the individual wells (Smith #1, Smith #2, Jones #1, Jones #2, etc.)

  • Under “Rigs,” create center groups for each unit of the business (Drilling, Cementing, Roustabout, etc.)

  • Under each of these, list the individual rigs as centers

In the end, you’ll be able to look at the cost groups for a whole unit like drilling, for an individual drilling rig, for a whole field like the Smith Field, or for an individual well like the Smith #1. And, you’ll be able to cross-reference reports to drill down as far as you want. You can see how much revenue Drilling Rig #1 brought in on the Jones Field or revenue Drilling Rig# 1 generated specifically on the Smith #2.

For example, on the P&L here, your accounting dimensions “Rig” and “Well” will be listed along side the standard cost center field and you can generate a report showing you just about anything you want:

1 Like

Thank you Gents, your feedback was really beneficial to me as I am new user in ERPNext.

One more question:

Can I create Doctype for (Well) and (Rig) in Selling Module and tag selling transactions such as Sales Order with Wells and Rigs?

Well and Rig are not compulsory for balance sheet and expenses.

The requirement is tracking/tagging only the revenue by well and rig. Meaning, detail reporting of revenue will be done in selling module and then reconciled with GL on periodic basis.

I hope it is clear.

I really appreciate your assistance.

As mentioned by @Manan_Shah make them as cost center and tag the income to each. You can then P&L for each cost center.

Do not create custom doctypes(well and rig) in Standard Module (Selling).
It will conflict during upgrading ERPNext

You must create a new app using bench for Rig and Well DocTypes. When you include the app in your site, your DocTypes become visible to Frappe ERPNext. You use Well and Rig DocTypes as Accounting Dimensions. When you place these Accounting Dimensions on accounting entries like Journal, Sales, etc. When you generate reports, you have the option of filtering using Accountibg Dimension. The reason why you place you new DocTypes in a separate App is yiu can update Frappe and ERPNext. If you include these new DocTypes in ERPNext you will not be able to update ERPNext because git thinks you have unauthorized changes.