Problems & solutions · Accounting

Concession and Shop in Shop Software Problems: The 6 That Cost Real Money, and How to Avoid Them

Concession Shop IN Shop Management Software architecture and database illustration showing common problems and fixes.
The short answer

The most expensive failure in concession software is building settlement on top of the point of sale (POS) department hierarchy instead of on a partner and contract model that sits above it. Department codes were created years ago by people who have left, they carry no effective dates, and they cannot express a partner who changed name, shares a department with another brand, or renegotiated a rate in March. The result is a settlement run that is arithmetically correct and commercially indefensible, which is why a finance analyst still spends eight to eleven working days each month rebuilding 180 statements in Excel and why disputes with brands you want to keep on your floor get settled by goodwill rather than by evidence.

Why does sale attribution get scoped as a department mapping so often?

Because it looks like the problem is already solved. The till already reports sales by department, most partners already map to a department, and a specification that says pull sales by partner from the point of sale passes review without anyone arguing. Then settlement runs and the exceptions appear.

The exceptions are specific to concession trading rather than to retail generally, and there are more of them than anyone estimates.

  • A partner who was acquired or renamed now exists twice in the hierarchy, with sales split across both.
  • Two brands share a department because floor space was reorganised and nobody restructured the till.
  • Lines created under the wrong parent during a busy season sit unreconciled until settlement.
  • A return processed at a store the item was not bought in, in a period after that settlement was paid.
  • An exchange that crosses two partners inside one transaction and gets netted rather than split.
  • A gift card sold by the host and redeemed against a partner's goods, where the cash arrived in a different period.
  • A loyalty discount funded by the host applied to a partner's product, or the reverse, where the contract says who bears it and the till has a default that disagrees.

The fix is a partner and contract model that sits above the point of sale hierarchy rather than inside it, with mapping rules that carry effective dates so a mid year change cannot corrupt a prior period. Then a transaction classifier handles the awkward types explicitly, including who bears a funded discount, instead of letting a departmental total absorb them silently. This is unglamorous and it is the difference between a statement you can defend line by line and one you cannot.

What goes wrong when you migrate contract terms and historical settlements?

The contract audit is the single most common cause of a slipped go live in this category, and it is not a software problem. Concession terms live as signed PDFs in a folder, several with amendment letters attached that changed the rate mid year, and what finance actually applies in the spreadsheet has drifted from both.

Hosts routinely discover three things. Terms in the signed agreement that nobody has ever applied, usually a marketing levy or card fee recharge quietly dropped. Terms being applied that no document supports, typically a rate agreed verbally in a meeting. And whole partners trading under an expired agreement. None of those can be resolved by a developer, and all need a commercial decision before they become configuration.

The approach that works is to read every live agreement before design finishes, record the term set per partner with the document reference and effective dates attached, and reconcile the last three settlement runs against what the model computes from those terms. Where the model and the spreadsheet disagree, the answer is a commercial conversation, not a code change. Plan for parallel running across two full settlement cycles, and expect the first cycle to surface differences you will be glad you found before a partner did. Historic statements should be attached as immutable records rather than recomputed, because recomputing history under today's terms produces numbers that contradict documents you already issued.

Why do point of sale integrations break after launch?

Settlement needs transaction level detail, and most point of sale integrations are specified against a summary. That mismatch is invisible during a demo, because departmental totals reconcile perfectly against departmental totals. It surfaces the first time a partner queries a specific line.

The recurring breakages follow a pattern. A nightly file that carried line detail for six months starts arriving as tender level summaries after a till upgrade nobody told you about. Return records reference an original transaction identifier that is only unique within a store, so cross store returns cannot be traced. Gift card redemptions post as a tender type rather than a line, so the value is invisible to attribution. And a new store opens whose files parse cleanly but map to the wrong departments.

What protects a build is treating the point of sale feed as untrusted input. Validate control totals per store per day against an independent source, quarantine files that fail rather than partially loading them, alert when the file shape changes, and reconcile transaction counts as well as values. Then hold every settlement's source transactions so a statement can be traced back to individual lines when a brand asks. If your estate is a mixture of a modern platform with a clean transaction interface and older stores sending nightly files, price and plan those as two separate integrations, because they are.

What happens when self billing is not handled as an accounting record?

In most concession arrangements the host raises the invoice on the partner's behalf, because only the host knows what sold. Self billing is a recognised mechanism in many tax jurisdictions and it carries conditions, typically including a written agreement with the supplier, correct treatment of the supplier's tax registration, and specific content and numbering on the document. Confirm the exact requirements with your tax advisers rather than with a developer.

The failure mode is treating the document as a report: a settlement produces a PDF, it gets emailed, and when something is wrong somebody regenerates it. The numbering sequence then develops gaps or duplicates, which is the first thing an auditor tests. A partner holds a document that no longer matches what your system says was issued. And there is no traceable path back to the transactions that produced the figure.

The correct treatment is that a self billed document is immutable once issued, carries its own sequence, is corrected only by credit note, handles tax per partner including partners registered in a different jurisdiction, and posts to your general ledger with the analysis your finance team needs. Hosts operating across several jurisdictions, which is normal in airport and travel retail, need per site tax treatment rather than a global setting. Getting this right removes the annual audit question that most concession operators currently answer with a folder of workbooks.

Should you build custom or configure what you already own?

For a lot of hosts the honest answer is to stay where you are. If you host around a dozen partners on a single flat percentage with no partner owned stock complications, the spreadsheet is cheaper than the build and the risk is contained. Your retail enterprise resource planning (ERP) system and your point of sale platform will hold a supplier, a department and a rate, and large hosts genuinely do run concessions through them with a layer of journals on top.

Be clear about why that layer exists. Retail enterprise systems are built around goods you buy and resell. A concession is the inverse: you never owned the stock, you sold someone else's and retained a share, on terms negotiated brand by brand. Forcing that into departments and journals is exactly why the real calculation ends up in a workbook outside the system.

Build when the shape of your estate has outgrown that. The signals are a partner count high enough that settlement is a multi week finance exercise, contracts using more than two or three commercial structures, routine disputes settled by goodwill because you cannot show a derivation, partner owned stock where shrink is an annual argument, or multi jurisdiction operation with different self billing treatment by site. The clearest tipping point is not partner count at all. It is the moment your commercial team starts declining terms they would like to offer because finance cannot calculate them.

How do hidden costs get into the quote?

The bands for this work are $75,000 to $160,000 over 12 to 18 weeks for a first release covering the partner and contract model, sale attribution, commission calculation and self billed invoice generation with ledger posting, and $180,000 to $450,000 over 8 to 12 months for a full platform. Quotes overrun for reasons you can see in advance.

The largest is contract term variety being priced as partner count. Two hundred partners on four structures is a far smaller build than forty partners on twenty. Sliding scales, minimum guarantee or percentage whichever is greater, category specific rates within one partner, marketing levies, card fee recharges, fit out contributions amortised across a term and seasonal pop up rates are each modelling work, and a quote that says commission calculation without listing the term types is guessing.

The second is point of sale integration quality, covered above. The third is partner owned stock, which is close to a second project rather than a feature. The fourth is multi jurisdiction tax. The fifth is any partner who also trades with you wholesale, since the same brand then needs two commercial models without double counting. The sixth is the contract audit, which is your effort and is almost never in the plan.

What genuinely keeps price down is phasing by commercial model. Settle your standard percentage of turnover partners first and leave minimum guarantee and category rate partners on the existing process until phase two.

What separates a build that works from one that fails here?

The builds that hold up produce a settlement a partner can read without calling you. Turnover, deductions with reasons, commission with the tier applied, levies, recharges, adjustments, net payable, each traceable to underlying transactions. They give partners a portal with daily sales by store and line, stock position, the settlement in progress and a dispute mechanism that raises a query against a specific line rather than an email against a total. Query volume drops sharply once partners can see the derivation, and the queries that remain are specific and resolve quickly.

The builds that fail were usually chosen badly. Ask a prospective developer to model a return processed in a different store from the sale, in a period after the original settlement was paid. Anyone who has done settlement work will describe a dated adjustment linked to the original and will ask which contract terms apply, the ones in force at the sale or today. Anyone who has not will treat it as a negative sale and create an unexplained variance every month.

Ask how a self billed invoice is made immutable and how corrections work, because if an issued document can be edited your auditors will find it. Ask which point of sale systems they have taken transaction level data from, including returns, exchanges, gift card redemptions and funded discounts. And settle code ownership in writing before kickoff, because this system encodes your negotiated terms with every brand on your floor.

Research & sources

The evidence behind this guide

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

  1. McKinsey found that currently demonstrated technologies can fully automate about 42% of finance activities and mostly automate a further 19%, indicating roughly 60% of finance work is technically automatable. Source: McKinsey & Company (2018) →
  2. Widely cited benchmarks place skilled manual data-entry error rates at roughly 0.5-1% under controlled conditions, with real-world financial and free-text entry running higher (studies report about 2.5% for structured numeric fields up to ~4.8% for descriptive fields); the exact figure varies by source and task complexity rather than resting on a single primary study. Source: Lido / industry benchmark research (2024) →
  3. An independent Forrester Total Economic Impact study of OutSystems found a 363% three-year ROI with payback in under 6 months, illustrating that faster, lower-labor build approaches can materially shift the payback math. Source: Forrester Consulting (commissioned by OutSystems) (2024) →
  4. WordPress powers 41.5% of all websites and holds 59.2% of the market among sites running a known content management system, making it by far the most-used CMS on the web. Source: W3Techs (2026) →
Mahira K. · Lead UI/UX Designer · Lucknow

Mahira leads UI and UX design, which at an agency means moving from a vague client request to wireframes, then to screens engineers can build without guessing. She works on dashboards, storefronts and internal tools where usability decides whether staff adopt the software. Her posts focus on design decisions that survive contact with users.

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

FAQ

Frequently asked questions

Why does our settlement still take eight to eleven days with a system in place?
Almost always because the system reports departmental totals and the exceptions are handled by a person. Cross store returns, exchanges spanning two partners, gift card redemptions, funded discounts and mid year rate changes all need explicit handling, and if any of them fall through to a department total someone has to unpick them by hand. The measure worth tracking is how many transactions each cycle require manual classification, because that number, not partner count, is what drives the close.
What breaks first in a concession point of sale integration?
Typically a till upgrade that quietly replaces line level detail with tender level summaries, or a new store configured differently whose files parse cleanly but map to the wrong departments. Both are silent because totals still reconcile against totals. Validate control totals per store per day against an independent source, reconcile transaction counts as well as values, quarantine files that fail rather than partially loading them, and alert on any change in file shape.
How should a mid year commission rate change be handled?
As an effective dated term on the contract, never as an edit to a rate field. A settlement for a past period must recompute using the terms that were in force then, and a statement already issued should not silently change value because someone updated a rate today. This is also why historic statements should be stored as immutable records rather than regenerated on demand from current configuration.
Why do self billed invoices cause audit problems?
Because they get treated as reports rather than as accounting records. Regenerating a document creates gaps or duplicates in the numbering sequence, leaves partners holding versions your system no longer recognises, and destroys the path back to the transactions that produced the figure. An issued self billed document should be immutable, corrected only by credit note, and traceable line by line, with tax treatment set per partner and per jurisdiction. Confirm the specific requirements with your tax advisers.
Is partner owned stock worth including in the first release?
Usually not. It is close to a second project on its own, needing a separate ownership class with receipts, inter store transfers, returns to the partner, counts and shrink allocated by each contract's liability clause. Get sale attribution, contract terms and defensible self billed settlement working first. Add stock once the settlement spine is trusted, unless shrink disputes are already the reason you are commissioning the build.
When is a spreadsheet still the right answer?
With roughly a dozen partners on one flat percentage of turnover and no partner owned stock, a spreadsheet plus your existing retail system is proportionate and cheaper than any build. The case changes when your contracts use several commercial structures, when disputes are settled by goodwill because you cannot show a derivation, or when your commercial team starts declining terms they would like to offer because finance cannot calculate them.
Which parts of a concession quote are usually understated?
Contract term variety, because cost tracks the number of commercial structures far more than the number of partners. Point of sale integration where an older estate sends nightly summaries rather than transaction detail. Partner owned stock. Multi jurisdiction tax treatment. Brands that trade with you both on concession and wholesale. And the contract audit itself, which is your team's effort and is almost never in anyone's plan.
How do we run parallel without doubling the finance team's work?
Run two full settlement cycles in parallel but reconcile selectively rather than exhaustively. Compare net payable per partner first, investigate only the partners where the two figures differ by more than a threshold you set, and record every difference as either a system defect or a commercial decision about which treatment is correct. Most differences turn out to be the second, which is precisely the value of running parallel before anyone sends a statement.
How many developers does it take to build accounting software?
The standard Digital Heroes team is 4 to 6 people: a backend developer, a frontend developer, a QA engineer, a part-time designer, and a project lead who owns the accounting logic. A single-workflow automation can ship with two people, while multi-entity platforms with payroll can need eight. Headcount matters less than having one named person accountable for the books balancing.
How do I migrate years of QuickBooks data into a custom system?
Use a staged migration: export full history through the QuickBooks API or backup files, load it into the new system, then run both systems in parallel for at least one full closing cycle before cutting over. Expect cleanup work, because books older than three years almost always contain miscategorized transactions that surface during import. Digital Heroes schedules migration as its own project phase with its own sign-off, never as a launch-week task.
Is custom software more secure than off-the-shelf SaaS?
Neither is secure by default; security tracks the practices of whoever builds and operates the system, not the model. SaaS gives you the vendor's certifications and patching but puts your data in a shared multi-tenant platform on their terms, while custom gives you full control over data residency, access rules, and compliance requirements like HIPAA, with the responsibility sitting with you and your agency. Before hiring anyone for a system holding sensitive data, ask for their security checklist: encryption at rest and in transit, an OWASP Top 10 review, role-based access, and a penetration test before launch.
Can custom accounting software connect to my bank, payment processor, and payroll provider?
Yes, and it should be treated as standard scope rather than an add-on. Bank feeds typically come through aggregators like Plaid, payments through Stripe or your existing processor's API, and payroll providers such as Gusto and ADP publish APIs for pulling journal entries. The real constraint is smaller regional banks without feed coverage, which is worth verifying during scoping instead of discovering after launch.
I'm outgrowing FreshBooks. Is custom software the logical next step?
Usually not directly, because FreshBooks is an invoicing tool more than a full accounting platform, and the natural next step is QuickBooks or Xero for proper double-entry books. Custom development makes sense when those do not fit either, typically because of a billing model none of them handle, like usage-based or milestone billing. In that case a custom billing engine that feeds a standard ledger is often smarter than replacing everything.
Will custom accounting software scale as my company grows?
It scales exactly as far as its data model was designed to, so multi-entity support, multi-currency, and consolidation should be day-one design decisions even if you launch with a single company. Retrofitting multi-entity onto a single-entity ledger is among the most expensive changes we handle, and in Digital Heroes rescue work it often costs a third of the original build. Compare that with QuickBooks Online, which requires a separate subscription for every company you add.
Should I hire a freelancer or an agency for my software project?
A skilled freelancer is the right call for a single-discipline scope under roughly $15,000, like a website, a plugin, or one integration. Above that, projects need design, backend, testing, and project management at once, and a solo builder becomes the single point of failure: if they get sick or take a bigger client, your project simply stops. Agencies bill 20-40% more per hour but carry continuity, code review, and someone to escalate to, which is what you are actually buying.
How much do developers charge per hour for accounting software work?
In the competing quotes clients share with Digital Heroes, established US and UK agencies charge $90 to $200 an hour for accounting and fintech work, senior freelancers $60 to $150, and offshore teams $25 to $60. We price accounting builds as fixed-scope milestones instead, because hourly billing on ledger work rewards slow debugging. Compare total quoted cost against your workflow list rather than comparing rates against rates.
How small can the first version of my software be and still be worth building?
One workflow, end to end, for one type of user: the single process that currently burns the most hours or loses the most money. In Digital Heroes delivery experience, first versions scoped to 6 to 10 weeks of build time ship, get used, and generate the feedback that makes version two obviously right, while 9-month first versions routinely launch with features nobody touches. Everything you cut from v1 gets cheaper to build later, because real usage reorders the roadmap for you.
What are the biggest mistakes first-time software buyers make?
Choosing the lowest bid, paying more than 30-40% upfront instead of on milestones, skipping a written specification, and having no maintenance plan for after launch. The most expensive of the four in Digital Heroes rescue projects is the missing spec: without written acceptance criteria, done becomes an argument instead of a checklist, and every disagreement resolves in the vendor's favor. Fix those four and you have avoided most of the ways these projects fail.
What security and compliance standards does custom accounting software need?
At minimum: encryption at rest and in transit, role-based access control, and immutable audit logs recording every change to the ledger. If outside parties rely on your numbers you will want SOC 2 style controls, and storing card data pulls you into PCI DSS, which most builds avoid by tokenizing payments through Stripe or a similar processor. Your industry adds its own rules, so compliance requirements belong in the written spec, not in a post-launch retrofit.
Who can build a custom accounting software system?

Digital Heroes builds custom accounting 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 accounting 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?