Revenue Model: Gross vs Net
Travel agencies book mediated travel costs in one of two ways, and TBC supports both. The model is chosen per company with the Net Revenue Model (Disbursements) switch in AIR Setup (field 70). It is one of the first decisions to settle in an onboarding, because it drives the VAT product posting groups, the AIR Product Posting Setup accounts, and how invoices are read.
Which model an agency may use is not a free choice. It follows from the agency's contractual setup: an agency that mediates in the supplier's name for the supplier's account (the typical IATA/BSP arrangement) is an agent — accounting standards (IFRS 15 / K3 principal-agent) point to net revenue, and tax rules treat the mediated amounts as disbursements, not the agency's turnover. An agency that buys and resells with its own payment liability points to the gross model. Always confirm the choice with the agency's accountant before configuring.
Gross model (switch = No, the default)
The full booking amounts — flight fares, hotel costs — are the agency's own turnover.
- Booking lines post to revenue accounts; supplier costs post to cost accounts.
- Booking items carry real VAT groups (e.g. 6 % domestic flights, 12 % hotel in Sweden). The import subtracts supplier VAT from the source gross amount and Business Central re-adds it from the item's VAT group, so the customer gets a normal VAT invoice and deducts input VAT directly from it.
- VAT validation compares the sales line VAT % against the VAT in the AIR source data.
- The P&L shows large turnover with a thin margin percentage.
Net model (switch = Yes)
Only the agency's own fees and markup are revenue. The mediated booking amounts are disbursements (Swedish utlägg, Norwegian utlegg) that pass through the balance sheet.
When the switch is on, the import behaves differently:
- Booking lines keep the gross supplier amount unchanged — supplier VAT (e.g. 12 % MVA on Norwegian domestic flights) is not subtracted, because it belongs to the supplier and the booking item's 0 % VAT group would never add it back. Domestic hotel, car rental, and ground transport lines use the source's Price Including VAT.
- VAT validation expects 0 % VAT on booking lines and logs an error if a booking item carries a non-zero VAT group. Service fee and markup VAT is unaffected — fees follow their own VAT groups as usual.
Configuration that must accompany the switch:
- A 0 % disbursement VAT group on all booking items (e.g.
MVA-UTLEGGin Norway, anUTLÄGGgroup in Sweden). The switch and the item VAT groups must agree — see the warning in AIR Setup. - Pass-through balance sheet accounts as Sales/Purchase Account on booking rows in AIR Product Posting Setup — nothing from a booking line may land in P&L. Markup Account and Service Fee Account are the only P&L accounts.
- Supplier VAT shown on the invoice (varav moms / herav mva): under the net model the customer — not the agency — may claim input VAT on the mediated amounts, so the invoice layout may need to display the supplier's VAT on disbursement lines. Confirm the requirement with the agency's accountant.
Markup under the net model
A disbursement line must be the exact supplier amount — no profit element may hide inside it. TBC therefore handles markup differently when the switch is on:
- BSP card fee and NDC markup become separate sales lines. The markup items are configured per flight mapping row in AIR Order Item Mapping (fields 10–11). The item's VAT group gives the region-correct rate: domestic markup lines are visible and VAT-carrying; foreign markup lines use a 0 % exempt group and are, by default, grouped into the booking line on the invoice printout — the grouping target is configurable per company via Markup Presentation in AIR Setup (field 71, see enum reference). Refunds and voids mirror the original order's markup lines so the markup is credited back with the fare.
- Manual markup (RM*MA) stays in the hidden Markup Amount field on the booking line, but only for foreign trips (0 % VAT on both the line and the markup revenue). On domestic bookings it is blocked with an import error — posting cannot charge VAT on it afterwards, so a domestic manual markup must be invoiced as a visible line instead.
- The currency rate markup (AIR Setup field 43) is stored in a hidden Currency Markup Amount field on the sales line instead of staying buried in the price. At posting it is moved off the disbursement account to the Markup Account, so the disbursement posts as the exact supplier amount.
Configuration that must accompany this:
- Markup items on all Flight rows in AIR Order Item Mapping that can produce BSP/NDC markup, with region-correct VAT groups.
- Markup Account rows in AIR Product Posting Setup must point at a revenue account. For the RM*MA/currency-markup posting split to produce a VAT entry (needed for the VAT statement, e.g. Norwegian fritatt omsetning, code 5), the Markup Account's G/L account card must have Gen. Posting Type = Sale and the 0 % exempt VAT posting groups filled in. Without them the split posts without a VAT entry.
Trade-offs to discuss with the agency
| Gross model | Net model | |
|---|---|---|
| Turnover | Large — helps credit ratings, tenders, bank relations | Small — agency looks smaller than its booking volume |
| Margin visibility | Average markup can be derived from public accounts | Markup hidden; gross margin ≈ 100 % |
| Customer input VAT | Deducted directly from the agency's invoice | Needs supplier-VAT documentation on the invoice |
| Turnover-based thresholds (audit limits, guarantees, insurance premiums) | Calculated on the inflated figure | Calculated on fee revenue only |
| Booking volume reporting | From the ledger | From TBC's AIR data instead of the ledger |