Implementation for a service based company, tour operations

I have a basic question about how to streamline different aspects of running a service based company via ERPNext. Our items (services) are non-stock, we sell tours and our cost/revenue structure as per below:

  • Customer buys/orders a tour via a website which we have already managed to integrate with ERPNext

  • Once the customer confirms the order and makes payment, we release an invoice and make a payment entry. The delivery comes later as scheduled…

  • Our cost structure is basically centered around the following
    – Boat investment capital
    – Maintenance cost
    – Marina docking rental
    – Fuel
    – supplies for each trip
    – Crew salary

We would like to associate the cost related to each item/service so that we can see the revenue and profitability. Going through many of the forum topics, I see different opinions and there seem to be some indirect options on how this can be achieved but no clear guide on how to implement ERPNext for a service based company.

Appreciate your guidance and support, thanks.

This can be done by the following way.

  1. In your accounts tree, under expenses/indirect expenses, create Childs for various items such as Boat investment, Maintenance, Marina etc.

  2. When a customer pays and confirms the trip, you can create a project and link the customer to the project.

  3. This project will be your cost estimation tool. Whenever you create journal entries for expenses you make with respect to the particular customer/trip, you shall make a journal entry with debit entry against the expense account and credit entry against your cash/bank account. You will also select project field in your journal entry if it is available as standard field or you can create one.

  4. Link the project to all the payment entries you make, for both pay/receive.

  5. Link the project in sales invoice, Timesheets for Labour and purchase invoices as well.

  6. There is a separate feature under project Doctype as Costing and billing. You can track your purchase cost, timesheet costs against your sales invoice cost.

  7. Journal entry is not included, but you can always take a report from the application and analyse your spendings.

1 Like

@Sivabalan-S Thanks a lot for your inputs… I have seen such approach recommended before some in the community and I believe it can be help in certain cases. I have predefined services, and the cost elements are usually identical, creating a project for each tour seems too much since its repeated frequently and no variations between most of the tours. I believe the cost centers/distributed cost centers and revenue/expense accounts functionality can greatly address such requirements however I must admit that my knowledge with ERPNext functionality is not that advanced and hence looking to see if there’re anything that can be further suggested by the community. Thanks again…

There’s so many ways to approach this in ERPNext. I think you’re on the right track here. Cost centers (and projects) might not be necessary for your use case, either. Where I see them being useful is either if you had several really distinct areas of your business or perhaps managing individual branches.

For distinct areas of your business, let’s say you have one location but it does three really distinct things:

  1. Ocean tours
  2. Land tours
  3. Kayak and ATV Rentals

In this scenario, if you broke each of these three things into cost centers, you could look at all their financial statements and reports individually or all rolled up for the overall view (you could also select two of the three, but that’s probably an edge case that’s not terribly useful).

The other scenario regarding branches might look something like this. You have 4 locations, and you want to see their revenue individually. Again, there’s multiple ways to accomplish this, but you could assign each branch a cost center, and you could look at the financial reports for each branch and also the company as a whole.

If you do end up having a use for cost centers, you can create additional types (say, one called “cost center” for the three areas of the business defined above and one called “branch” to track different branches). This is called accounting dimensions. You can read more about it here.

However, I think what is sounds like you want probably doesn’t require cost centers at all. You can do this by just assigning each item you’ll put on the invoice a default account in the chart of accounts. If you create an item, there’s a section called “Sales, Purchase, and Accounting Defaults.”

If you click on “Edit,” you’ll be given this dialog.

Here you can set the default income and expense accounts for the item. When you add it to an invoice, it will automatically dump income and expenses in the accounts you select from the Chart of Accounts, and these will show up on financial reports.

To go a step further, maybe you want to account for each of the areas you listed above, if you wanted to add a cost for each of your major areas of expense but you would rather the invoice appear as just “4-Hour Bay Snorkel Tour Package” instead of line items for fuel, docking rental, etc, you could make a “4-Hour Bay Snorkel Tour Package” a product bundle.

I’m no expert on ERPNext accounting, either, but I hope this gives you some ideas on how to structure it.


@levi Thanks for your insightful reply. You have come close to our workflow but there are few things that may need to be clarified. Our business operation is very simple, we basically provide a tour where the customer books the desired date for the type of tour they would like to go for. We have about 12 tours, for 3 destinations which last less than a day. Our cost elements are the boat cost (owned by the company), boat insurance. fees paid for docking at the marina (annual fee), fuel, maintenance and the captain who operates the tours, and some supplies (water/refreshments).
Our objective is to record each tour revenue and costs, the costs calculation are allocated based on the miles/hours of operations (portion of the boat, docking fee, fuel charges, wages paid for the tour operator) plus the direct supplies. We are intending to enter expenses as soon are they are incurred (e.g: fuel and supplies).
I checked the product bundle, its basically a BOM approach but seems an overkill in our case. I see that ERPNext has a setting for revenue and expense accounts, costs centers and distributed cost centers. Those seem to be the potential solution for our workflow, however, I am not sure how to get started with them.

You might find this YouTube video helpful.