ERPNext for Travel agency business

Hi ERPNEXT community,

İt’s very nice to see ERPNext growing day by day.
İ have one question, is it possible to use ERPNEXT for travel agency company, especially for ticketing platform, how I can use POS(ERPNext) to fit these needs(flights tickets,bus tickets, tours packages,etc)

I know that ERPNext fit service based business, but I can’t figure how I could use it for a tourism company,

Is ERPNext will be a good fit and help our business to grow.

Thank you all for your support


I think ERPNext has all the basic elements for deployment to the travel industry.

On the demand side, you have prospects looking for travel, stay or adventure/experience options.

On the supply side you have airlines, travel aggregators, trains, buses, hotels, et al.

So let’s say a prospect calls or walks in, and your “concierge” gathers the requirement. Now this needs to be mapped against supply and the concierge needs to provide options to your prospect. The prospect decides to buy, the system needs to grab that seat, room, car, etc. Etc.

You need to provide a confirmation and an itinerary to the prospect.

ERPNext may need to be customized to completely fit into your requirements. I think it can be done fairly easily and inexpensively.

“easy and inexpensive” from an overall perspective, but would still be a significant chunk of money ($5-10K) for a base configuration to work for you. Maybe $25-30K for some really cool and intervention-less supply side logistics.

Would it be possible for you to band together a group of Travel Agencies and to underwrite the costs?




In a lot of ways, I am perhaps over engineering the solution. If you can delink your workflows from your accounting module (Which is perhaps what the reality is right now), ERPNext can serve you extremely well in managing your books of accounts, Accounts Receivables and Accounts Payables.

Maybe you should jump in and adopt ERPNext for your accounting, while we together (as a community) try to extend the capabilities of ERPNext specific to the travel industry.




Hi JayRam,

Thank you a lot for this great information, I will try to find other travel agencies who are willing to pay to support the idea of making ERPNext for travel industry,
As you know the airlines doesn’t have fixed price for the flight tickets, so I am trying to find a way to add just a ticket service, and use POS to sell this service.
For example , a customer come and want a ticket from Istanbul to Paris so I will issue for him a ticket using amadues selling platform and pay the cost by my credit card, (how I can tell ERPNext the cost I pay by credit card and add the commission on it, to know in the end of month the profits)
Please could you help me to understand if possible just for now.

By the way I am learning Python 3 , and taking courses on freecodecamp … I want to be an active erpnext developer as soon as possible.

Have a great day


1 Like

Hi @inews,

That part is fairly easy. Sign up for the One User free option on Go through your setup in setting up your company.

Now, let’s look at Customer A that wants to buy that ticket from Istanbul (If you are based in Istanbul, stay safe!!) to Paris. You buy the ticket on Amadeus and pay for it by Credit Card. Then you Invoice your customer for Cost of the Ticket + Your Commission.

Here’s what you do:

Set Up Amadeus as a Supplier (Home>Buying>Supplier) Take the most appropriate choices.

Account the ticket you just bought. You have to setup an Item on ERPNext to be able to do this.

To account for the ticket you just bought, you go to Accounts - Purchase Invoice and make a purchase invoice for Amadeus. Save and Submit. Add as much information as necessary in the Item Description.

Click on Make and Payment and make this payment. Since you paid by Credit Card, you have to Set Up an Account with the Mode of Payment Credit Card. You may want to add the transaction ID on Amadeus as reference on your purchase invoice. Save and Submit the document.

Now set up John Smith as a customer. You bill John for the ticket amount and the commission. You may need to setup a few things depending on whether you want to show on the invoice the Base Ticket Price and the Commission.

Depending on Accounting Principles applicable in your country, your Base Ticket price may or may not be treated as Income, You can set this up on ERPNext through the Income Account options. I have set up the Base Ticket Price as Indirect Income in my test system and the Commission on Sales as Direct Income.

Now you receive your payment from John. Most likely Credit Card. YOu set up another Credit Card Account, called Credit Card Receipts and tag an appropriate account to it. Again you may want to include the reference number of ticket on Amadeus for your accounting purposes.

Save and Submit the Payment Document. Now you have completed one cycle.

There is of course the details of making payment to your Credit Card account for the ticket you bought on Amadeus and receiving the amount that your customer paid for the ticket from your Credit Card receipt account to your Bank Account.

Other than the previous paragraph, I have simulated all the transactions on my test ERPNext system and here is the link to the Trial Balance, P&L and Balance Sheet extracts from ERPNext:

Please check these and if you think it is acceptable, I urge you to sign up on and try it out for your self.

Happy to help you overcome any challenges you may encounter.

Hope you find ERPNext appropriate and will adopt ERPNext.

Welcome aboard!



1 Like

Hi Mr Jay,

Sorry I was very busy today but
Wow this is was very helpful and informative , there is no way to Thank you enough, if you decide someday to come to Istanbul I will be more than happy to meet you…
I will try to follow your method and back to you with my result as soon as possible :slight_smile:

I am really exciting to learn more about Python and frappe platform, hopefully within one month I can start modifing ERPNext.

Have a great day

Hi @inews,

Yes, it would be great to meet you when I am at Istanbul. Heard great things about your fantastic country.

Your adopting ERPNext and helping us popularize ERPNext within the Travel industry and in Turkey is gratitude enough for this community.

Here’s wishing you every success on your ERPNext development journey.

BTW: You have to set generic non-stock items on ERPNext. Like set up items called TRAIN for train tickets, AIR for Air Tickets, ROOM for hotel rooms, etc. I think I forgot to include this two information. Please make that non-stock items.

Both I and @UmaG are happy to help you on your journey in adopting ERPNext and customizing ERPNext.



Hey there, I’m trying to set up ERPNext for a travel agency myself. I’m going to talk about my scenario and ignore the credit card parts as it’s all cash in my case.

Now, I get that I can make Purchase Invoice for individual tickets, but in my case, it’s important to relate each specific ticket purchase to the customer bill.

For example, my product is called Air Ticket and I bought a ticket no. 1 from airline A, from location X to location Y. I need the bolded information saved and automatically displayed when I bill the customer. That’s to say, every unit of Air Ticket “stocked” is unique, and I need the ability to select the Air Ticket when I make my bill.

To use a more conventional example, a product called Smartphones will have unique IMEI associated with each unit. And when sold to the customer, I’d need to note which unit I sold.

Aside form the ticket no., I can use variants to add the other bolded information, but I don’t understand how to add a value for every unit of product. And more importantly, how to look at the bill and refer to the purchase invoice with the specific unit.

This is an old post, I’ll make this a separate question if you think it deserves to be or if you don’t respond within half a day.

How about you set up an item like Airticket as an item with serial numbers? Check Serial Number box in the item master and you can use the PNR number of the ticket as the Serial Number.

Do you think that will work?



Here’s the complete answer. Add custom fields like Airline, Origin City, Destination City, Departure Time, Arrival Time, Number of Stops, etc. Into the serial number document. Add the same fields into your Purchase Invoice and Sales Invoice documents. A little bit of custom scripting will let you write these values into the Serial Number fields as you save your purchase invoice (just remember to click update stock) and setting up these fields as Read Only on the Sales Invoice document and pointing it to the correct fields of the Serial Number document will let you fetch those values as you select the specific PNR number.

Please let me know if you need any further help.

Would you like to do your whole transactions on an Android device. We can build you an app that will help you accomplish this quickly and with a minimum number of taps and entries. But it won’t be free!! :slight_smile:



Again remember to check update stock on the Sales Invoice.



Yeah, I checked out variants and it isn’t what I thought it was. Can you point me to the documentation where it shows how I can add those custom fields to the serial number document? And the custom fields are going to be unique for specific products, right? Those fields would be essentially useless and inapplicable to other products like holiday and tour packages.

And say for example I send a Quotation/make Sales Order for tickets, holiday package, etc; can I:

  • define incomplete custom fields for Air Ticket; I can set origin and destination, but I obviously don’t have PNR
  • add items from multiple Purchase Invoices in my Sales Invoice; tickets and tour packages would be purchased from different vendors

PS How do I receive notifications of your replies?

Variants is not your answer. Go to Setup>Customize Form select Serial Number as the DocType to customize and add the fields. Your airtickets will have airline, Origin Airport, Destination Airport, etc. Whereas your hotel reservations may have city, start date, end date. Taxi and airport transfers may have Pick Up Location, Pick up date/time, Pick Up.dependencies (like a flight or a train) and a drop location.

Maybe you can use item attributes to define each set of variables.

You could also do a Product Bundle or a Bill of Materials when you sell a package tour. I wish I or my developers/implementors had some time to help you with this. It sounds interesting. Maybe if you find a freelancer to help you, I can help you arrive at the architecture of a solution for the travel industry.



So, I add rows for origin, destination, etc in the Fields section? I don’t quite understand. Can you show me a screenshot to show me an example?

Where do I set item attributes? The form for adding those only shows when I check has variants box.

I don’t quite understand how Product Bundle or Bill of Materials work, I literally only came to know about ERPNext for less than a week. What I meant to say is, assuming we’ve unique serial no. for air ticket and hotel, they’re going to be from different Purchase Invoice, so I was wondering if I could add items from multiple Purchase Invoices.

Very busy @oxwivi. If you have a budget for implementing this, suggest you hire somebody to help you. Else you’ll have to ask questions here and wait for somebody to answer.

Type Item Attribute and Serial Number and so on into the awesome bar and you will get those options. Play around with them and when you have additional questions comeback here and ask those questions.

For now take Item Attributes and Serial Number and see if you can set up your generic items (air tickets, hotel booking, car drop, etc.) And call the different item attributes for them.

Then set them up as Serialized Items.

Baby steps. Before you run. :slight_smile:



Awesome bar is that search bar on ERPNext. It’s really awesome. :slight_smile:



1 Like

How do I set Item Attributes when making Invoice/Orders? Can I add new values like I can create customers and vendors at the form itself? It doesn’t seem like I can share values between origin and destination attributes

I would’ve tried to have PNR as attribute too, but I can’t have arbitrary value, it seems.

I would live to pay someone for live support or something, but I myself am the “IT guy” (though I do have programming and administration experience) to set it up for a friend of friend’s tiny agency (two employees) now that the country’s introduced tax. I don’t think I’m getting paid, much less pay for professional support. Then again, if I can successfully learn my way around ERPNext, I would like to sell my services to similar small establishments for POS and the likes and hopefully register as a reseller for cloud too.

No you divide your items into different categories. Each category will have a different set of attributes. Set up each item as a serialised item (its like that Mobile phone example you took). So you will have to enter the serial number of the item (PNR Number) when you buy that ticket on Amadeus or on the web and want to enter that transaction on ERPNext.

The item attributes for the AirTicket item would be a different set than for the HotelRoom item. You can fetch the attributes into a transaction and enter that into the transaction, or you can add those into the Serial Number document.

Once you do that you will be able start making transactions.

Use the awesome and you will go straight to those screens.

Hope you persist and get this working.



I’ll make replies as I make discoveries, both to document for myself and for you if you find anything of note.

I just realized that Serial Nos field doesn’t show in the Item form as long as Maintain Stock isn’t ticked.

Also, interface in the help videos are somewhat different.