Industry guide · POS

Duty Free and Travel Retail Software: Making Bonded Stock, Boarding Passes and Concession Rent Agree

Duty Free Travel Retail software visual showing shopping bag, plane takeoff, and stamp.
The short answer

If you operate duty free across more than a handful of locations, or a single large airport store where bonded stock is reconciled to customs records in a spreadsheet, build or heavily extend. A focused first release covering boarding pass validation, eligibility rules by destination, and a bonded stock ledger that reconciles to customs typically runs $110,000 to $240,000 and ships in 16 to 24 weeks in our delivery experience. A full platform adding multi currency tills, concession fee reporting, transfers between bonded and duty paid stock, and pre order collection runs $280,000 to $750,000 phased over 10 to 18 months. A single small border shop with one product category should extend a packaged till instead.

Why travel retail is a compliance system that happens to sell perfume

It is 6:15am at an airport store. A passenger puts three bottles of spirits and a carton of cigarettes on the counter and hands over a boarding pass. In the next four seconds the till has to answer several questions that an ordinary shop never asks. Is this passenger travelling to a destination where these goods can be sold duty free from this location. Does the quantity exceed the allowance for that destination. Is this a transfer passenger whose liquids must leave in a sealed tamper evident bag. Which duty status applies to each line, since the same shelf may hold bonded and duty paid stock. Which currency is the customer paying in and at what rate. And behind all of it, the store's stock position has to move in a way that will still reconcile to the customs record at the end of the period.

Get any of that wrong and the consequences are not a bad customer experience. They are a customs discrepancy on goods held under duty suspension, and an airport authority that calculates your rent from turnover you reported.

The operating reality in a lot of travel retail is a strong retail point of sale (POS) doing the retail part well, plus a set of spreadsheets doing the regulated part. Bonded stock is tracked in a workbook maintained by one person who understands the warehouse regime. Concession turnover is declared from a monthly export. Boarding pass rules are printed and taped near the till for the cases the system cannot decide. In the travel retail and bonded inventory work we have delivered, the recurring finding is that the retail system is fine and the two things that carry the actual legal and commercial risk are being managed by hand.

Problem 1: the boarding pass is the transaction's authority and it is only partly readable

Boarding pass barcodes follow an IATA standard, which is genuinely helpful: a scan gives you a passenger name record, flight number, origin, destination, and date without asking the customer anything. What the barcode does not give you is the entire answer. It carries the next sector, not the final destination on a connecting itinerary. It does not tell you the passenger's residency, which matters in some jurisdictions. Mobile passes photograph badly, older passes vary, and some markets still see printed passes with poor contrast at 6am under bad lighting.

Then the rules on top of it change. Allowances, eligibility by destination, and what may be sold under which duty status are set by the jurisdictions involved, and they are revised on a political timetable rather than a software one. Any specific allowance figure in a blog post will be stale eventually, so the design principle matters more than the number: never hard code the rules, and confirm current values with your customs advisers before each release.

What a custom build does: an eligibility engine that takes the scanned pass, resolves destination and passenger type, applies dated rules per origin and destination pair, and returns a decision per line item with a reason. Cashiers see a plain instruction, not a rule reference. Supervisors can see why. And when a rule changes, someone in head office edits dated data rather than waiting for a release, which is the whole point when the change arrives with two weeks of notice.

Problem 2: bonded stock has to reconcile to a customs record, unit by unit

Goods held under a customs warehouse or duty suspension arrangement are not simply inventory. They are inventory that the state has a claim on until a taxable event occurs. Every movement matters: receipt into bond, transfer between bonded locations, sale to an eligible passenger, removal to duty paid stock, breakage, sample, theft, and destruction. Each of those has a treatment, and periodic declarations plus spot checks compare your record to the physical position.

Standard retail inventory does not think this way. It thinks in stock on hand and cost. It has no native concept of duty status as an attribute of a unit, no concept of a movement type that changes tax liability, and no reason to keep an immutable record of every movement, because ordinary retail stock loss is a margin problem rather than a legal one.

What a custom build does: duty status as a first class attribute on stock, an append only movement ledger where corrections are new entries rather than edits, and a reconciliation view that compares system position to declared position with the variances itemised by movement type. If the same store holds bonded and duty paid stock of the same product, which is common, the system tracks them as separate pools and forces the till to pick the right one based on the eligibility decision rather than leaving it to a cashier. That single rule removes most of the discrepancies we see.

Problem 3: what Oracle Retail Xstore and Cegid Retail actually cover

Both are serious retail platforms. Oracle Retail Xstore is a mature enterprise point of sale used widely in large chains, with real depth in transaction handling, promotions, and store operations. Cegid Retail is similarly capable and strong in international specialty retail with good localisation. Neither is a bad choice and both appear in travel retail estates.

The honest limits are about fit and rate of change rather than quality. These platforms are built for chain retail, so boarding pass eligibility, bonded stock accounting under a customs regime, and airport concession fee reporting sit outside their core model and get delivered as extensions. That is a legitimate route, and the questions to ask are practical ones. How quickly can an extension be changed when a destination rule shifts with short notice. Who can change it, an internal team or only a certified partner. What does a platform upgrade do to your customisations. And how much of the bonded reconciliation genuinely lives in the platform versus in a workbook next to it.

Many operators end up with a sensible split: keep the enterprise till for what it is good at, and build the regulated layer around it as your own system with a clean integration. That is usually cheaper than trying to make a chain retail platform into a customs system, and it keeps the piece that changes fastest under your control.

Problem 4: your rent is calculated from numbers you report

Airport and cruise concession agreements typically charge a percentage of turnover against a minimum guaranteed amount, frequently with different rates by product category and a reporting obligation to the authority. The concession fee is a large operating cost and the authority has audit rights over the figures behind it.

Most operators produce that declaration from a period export and a spreadsheet with category mappings maintained by hand. The exposure runs both ways. Misreport high and you overpay rent quietly for years. Misreport low and an audit becomes a commercial dispute with the landlord who controls your presence in the terminal.

What a custom build does: category mapping as maintained data with effective dates, concession fee calculation as an explicit period object with a full trail to transaction level, and the declaration generated from that object rather than assembled. Then an audit is a query rather than a project, and your own team can see the fee accruing during the month instead of discovering it afterwards.

Problem 5: the till has to be genuinely multi currency, not currency aware

An airport store takes payment in the local currency, the destination currency, one or two majors, and card. It quotes prices in more than one currency, holds cash floats in several, gives change in a currency that may differ from the tender, applies rounding rules per currency, and reconciles a till at the end of a shift across all of it. Some markets add dynamic currency conversion on card, with its own disclosure requirements.

Retail platforms handle multi currency at the pricing and reporting layer well. The cash handling reality at the drawer, with mixed tender, multiple change currencies, and a rate that was set at the start of the day, is where implementations usually get uncomfortable and where cash office reconciliation quietly becomes manual.

What a custom build does: treat the tender as a set of currency specific movements with the applied rate stored on the transaction, not derived later. Then the shift reconciliation is exact, the FX gain or loss is measurable rather than assumed, and the cash office stops balancing by judgement.

What this costs and how long it takes

Across the 2,000-plus projects Digital Heroes has delivered, this is the honest shape for travel retail. A focused first release covering boarding pass scanning and eligibility rules for your destination set, plus a bonded stock ledger with reconciliation reporting, runs $110,000 to $240,000 and ships in 16 to 24 weeks. A full platform adding multi currency tender and cash office, concession fee calculation and declaration, bonded to duty paid transfers, pre order and collection at gate or store, and loyalty across a travel estate runs $280,000 to $750,000 phased over 10 to 18 months.

What drives price up specifically here: the number of jurisdictions, because each one brings its own customs regime, declaration format, and allowance structure, and the second country is nearly a second project. Whether you are building a till or a layer around an existing enterprise point of sale, since the second is materially cheaper and usually smarter. Hardware, if scanners, sealed bag printers, or label printers are involved. Offline tolerance, which is not optional in a terminal, because a till that stops working when the network drops is a till that will not be used. And cruise or border operations, where connectivity is worse and rules can change by port.

What keeps price down: one location and one jurisdiction first, running the bonded ledger in parallel with the existing workbook for two full declaration periods before it becomes the source of truth.

Build versus buy, and when buying is right

Buy, or extend a packaged platform, if you run one small border or ferry shop with a narrow product range and simple eligibility. The compliance surface is small enough that a good till plus a disciplined workbook is proportionate.

Build the regulated layer when any of these are true. You operate in more than one jurisdiction, so no single packaged configuration covers your rules. You have had a customs discrepancy you could not explain from system records. Your concession fee declaration is assembled by hand and your landlord has audit rights. You hold bonded and duty paid stock of the same product in the same store. Or your allowance rules change faster than your platform partner can deliver a change, which for many operators is the deciding fact rather than any feature gap.

How to choose a developer for duty free and travel retail software

Ask how they would handle a boarding pass for a passenger connecting through your airport to a third country. If they treat the barcode destination as final, they will sell goods that should not have been sold, and the discovery point is an audit rather than a bug report.

Ask how corrections work in the bonded ledger. If a movement can be edited, the ledger is not evidence. The right answer is append only with reversing entries and a visible reason on every adjustment.

Ask what happens when the terminal loses connectivity for twenty minutes during a departure bank. Offline transaction capture with deterministic reconciliation on reconnect is a design decision made at the start, not a feature added later.

Ask who owns the code and settle it in writing before kickoff. You should own the repository, the infrastructure accounts, and the right to hire anyone else. At Digital Heroes the client owns the code from the first commit, which matters especially when regulatory change arrives with weeks of notice and you cannot afford to be in a supplier's release queue.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. The NRF discontinued its long-running annual shrink report, stating that a broad study of retail shrink 'is no longer sufficient for capturing the key challenges and needs of the industry' - important context that qualifies how POS/shrink benchmarks should be cited going forward. Source: Retail Dive (2024) →
  2. Item-level RFID tagging enabled 99.9% order accuracy in the retail supply chain, versus a baseline where 69% of orders shipped between brands and retailers contained data errors - showing how RFID-at-POS integration reduces inventory inaccuracy. Source: Auburn University RFID Lab & GS1 US (2018) →
  3. Per Sensor Tower's State of Mobile 2026, worldwide consumers spent about $85 billion on apps in 2025 (up 21% YoY), and for the first time non-game apps surpassed games in consumer spending; generative-AI in-app purchase revenue more than tripled to top $5 billion. Source: Sensor Tower (via TechCrunch) (2026) →
  4. Standish's 2015 CHAOS research found roughly a third of software projects (about 36% by the Modern definition) fully succeed on time, on budget, and on scope, with top success drivers including executive support, user involvement, and clear requirements/business objectives. Source: Standish Group (CHAOS Report) (2015) →
Aaradhya R. · Senior Backend Engineer · Python · Delhi

Aaradhya builds Python backends at Digital Heroes, from APIs and scheduled jobs to data processing behind reporting and automation features. Her posts suit readers trying to understand what sits between a business process they want automated and software that can actually run it.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

How much does custom duty free and travel retail software cost?
A focused first release covering boarding pass validation, destination eligibility rules, and a bonded stock ledger with customs reconciliation typically runs $110,000 to $240,000 and ships in 16 to 24 weeks, based on Digital Heroes delivery experience. A full platform adding multi currency tills and cash office, concession fee reporting, bonded to duty paid transfers, and pre order collection runs $280,000 to $750,000 phased over 10 to 18 months. Operating in more than one jurisdiction is the single largest cost multiplier.
Can Oracle Retail Xstore or Cegid Retail handle duty free operations?
Both are capable enterprise retail platforms and both appear in travel retail estates, with real depth in transaction handling, promotions, and store operations. Boarding pass eligibility, bonded stock accounting under a customs regime, and concession fee reporting sit outside their core retail model and are delivered as extensions. The practical questions are how fast an extension can change when a destination rule shifts on short notice, who is allowed to change it, and what a platform upgrade does to those customisations.
What does a boarding pass scan actually tell the till?
The IATA barcode standard gives you the passenger name record, flight, origin, destination, and date, which removes most manual entry at the counter. It does not tell you the final destination of a connecting itinerary, and it does not carry residency, both of which can affect eligibility in some jurisdictions. Treating the scanned destination as final is a common and expensive design mistake, because the discovery point is usually an audit rather than a bug report.
How should bonded inventory be tracked in software?
Duty status needs to be an attribute of the stock itself, not a report, with an append only ledger of every movement including receipts into bond, inter location transfers, eligible sales, removals to duty paid stock, breakage, samples, and destruction. Corrections should be reversing entries rather than edits, so the record is evidence rather than a working file. Where the same product is held in both bonded and duty paid pools, the till should be forced to draw from the correct pool by the eligibility decision rather than by cashier choice.
How long does it take to implement travel retail software?
A first release usually ships in 16 to 24 weeks in our experience, covering one location and one jurisdiction properly rather than several shallowly. The schedule risk is rarely the till. It is confirming current allowance and eligibility rules with customs advisers, agreeing the customs declaration format, and running the bonded ledger in parallel with the existing workbook for two full declaration periods before switching over.
Do we need to replace our point of sale to fix duty free compliance?
Usually not, and often you should not. A common and sensible pattern is to keep the enterprise point of sale for retail operations and build the regulated layer around it, covering eligibility, bonded accounting, and concession reporting, with a clean integration between the two. That keeps the fastest changing part of your operation under your own control and avoids trying to turn a chain retail platform into a customs system.
How are airport concession fees calculated and reported?
Travel retail concession agreements commonly charge a percentage of turnover against a minimum guaranteed amount, often with different rates by product category and a reporting obligation to the airport authority that carries audit rights. The exposure is symmetric: over reporting quietly inflates rent for years, and under reporting turns into a dispute with the landlord who controls your terminal presence. Category mappings should be maintained, dated data with a trail from the declaration down to transaction level.
What happens when the terminal network drops during a departure bank?
The tills have to keep trading, which means offline transaction capture with deterministic reconciliation when connectivity returns, including how eligibility decisions are made without a live rules lookup. This is an architecture decision taken at the start rather than a feature bolted on later, because retrofitting offline behaviour into a system that assumes connectivity is close to a rewrite. Any developer who treats airport connectivity as reliable has not worked in a terminal.
Who owns the code if an agency builds our travel retail system?
You should own the repository, the cloud infrastructure accounts, and the unrestricted right to hire another firm, settled in the contract before kickoff. At Digital Heroes the client owns the code from the first commit. In this category it is more than principle, because customs and allowance rules change with limited notice and being stuck in a supplier's release queue turns a configuration change into a compliance exposure.
What does it cost to keep custom software running after launch?
Budget 15-20% of the original build cost per year, which on a $100,000 system means $15,000 to $20,000 for security patches, dependency updates, bug fixes, and small improvements as real usage reveals what the spec missed. Cloud hosting for a typical business application adds $50 to $300 a month on top. Skipping maintenance does not save the money; in Digital Heroes rescue work, unmaintained systems typically need a far more expensive rebuild within about three years.
Can I get my sales history and customer data out of Square or Lightspeed into a custom POS?
Yes. Square and Lightspeed both provide exports and APIs covering transactions, catalog, customers, and inventory, and migrating them is a standard 2 to 4 week workstream inside a POS build. The usual gaps are stored card tokens, which cannot leave the original processor without a formal token migration request, and gift card balances, which need careful reconciliation. Plan to run both systems in parallel for one or two weeks during cutover.
What should I prepare before contacting a software development agency?
A one-page brief beats a 40-page requirements document: the business problem in plain words, who will use the system, the 5 to 10 workflows it must handle, the tools it must connect to, and your budget range and deadline driver. You do not need wireframes, a specification, or technical vocabulary; producing those is the agency's job during discovery. Stating a budget range up front is the single best move, because it gets you honest scoping instead of a quote engineered to win the meeting.
Why do agencies charge for a discovery phase instead of quoting for free?
Because an accurate quote requires real work: mapping your workflows, finding the edge cases, and writing a specification, which typically takes 1 to 3 weeks and costs $2,000 to $10,000 at Digital Heroes depending on system complexity. You leave discovery owning a written spec and a fixed price you can take to any vendor, so the money is not locked into one agency. Free estimates are guesses, and the guess usually becomes your budget overrun six months later.
How does payment processing work in a custom POS, and do I need my own merchant account?
Your POS software handles the order, then hands the charge to a payment provider; you never build card processing yourself. The two common routes are an aggregator like Stripe, live in days at a published in-person rate of 2.7 percent plus 5 cents, or a dedicated merchant account with interchange-plus pricing, which takes 1 to 3 weeks of underwriting but costs less at volume. Most Digital Heroes POS builds launch on Stripe Terminal and renegotiate processing once volume justifies it.
Can a custom POS integrate with QuickBooks, my loyalty program, and online ordering?
Yes, and integrations are often the strongest reason to go custom, since you control the sync logic instead of waiting on an app marketplace. QuickBooks and Xero have stable public APIs, and a daily sales journal sync is a 1 to 2 week build item in most Digital Heroes POS projects; loyalty and online ordering connections typically run 2 to 4 weeks each depending on the vendor's API. List every integration in the initial scope, because each one added mid-project reopens the data model.
What questions should I ask a development agency on the first call?
Ask who exactly will build it, what happens when scope changes mid-project, what their maintenance terms are after launch, and what they will need from you every week. Then ask them to describe a project that went wrong and what they changed afterward; teams that have shipped at real volume have war stories, and teams claiming a perfect record are hiding something. The scope-change answer matters most: a disciplined shop describes a written change-order process, not a vague promise to be flexible.
What happens to my software if the agency shuts down or we stop working together?
Nothing dramatic, if the engagement was set up correctly: the code sits in your repository, hosting runs on your cloud account, and a handover document explains how to deploy and operate the system. Any competent replacement team can then take over in days rather than months. If the agency controls the repo, the servers, or the domain, fix that now, because renegotiating access during a dispute is the most expensive place to discover the problem.
Who can build a custom POS software system?

Digital Heroes builds custom POS software systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other POS software companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?