Overview
When you sell through travel agencies, Kaptio manages the entire relationship: who the agency is, what commission they earn, how they are invoiced, and how you reconcile their payments. This guide walks through every step, from creating the agency account to generating a reseller statement and closing the books.
The process follows a logical chain:
- Create the Agency Account — set up the travel agency as an Account in Kaptio with the correct record type, tier, and financial terms.
- Add Contacts — create the individual agents who will search, book, and manage reservations on behalf of the agency.
- Set Up Reseller Agreements — define the commission terms that apply when the agency books through your channels.
- Understand Commission Calculation — see how the system applies per-product-type commission rates to each booking line.
- Understand the Gross Flag — know the difference between net invoicing (agent deducts their commission before remitting) and gross invoicing (agent pays the full amount, then receives a separate commission payment).
- Generate Reseller Statements — produce a summary of what an agency owes (or is owed), and reconcile payments against it.
Part 1: Setting Up a Travel Agency Account
A travel agency is represented as an Account record in Salesforce. The Account record type determines the account’s role in the system — use the Agency (or Travel Agent) record type for travel agency partners.
Step-by-Step Setup
- Navigate to Accounts and click New.
- Select the Agency (or Travel Agent) record type.
- Fill in the core fields:
| Field | Description |
|---|---|
Account Name | The agency’s trading name (e.g., “Element Lifestyle Travel”) |
Parent Account | If the agency belongs to a consortium (e.g., Virtuoso), set the consortium as the parent. This links the agency into a hierarchy for reporting and agreement inheritance. |
Gross Invoicing | Controls whether the agency is invoiced for the full booking amount (gross) or the net amount after commission. See Part 5: The Gross Flag for a full explanation. |
Credit Limit | The maximum outstanding balance the agency can carry before further bookings are blocked or flagged |
Payment Terms | The agreed payment terms (e.g., Net 30, Net 45) |
Reseller Payment Schedule | Determines which payment schedule applies to bookings made by this agency. Set to “Channel dependant” to inherit from the sales channel, or select a specific schedule negotiated with the agency. |
- Save the Account.
Tip: If you work with consortia (e.g., Virtuoso, Signature Travel Network, Ensemble), create the consortium as a parent Account first, then create each member agency as a child Account under it. This lets you assign a single Reseller Agreement at the consortium level and have all member agencies inherit the same terms. See the B2B Trade Partner Setup golden config for a worked example of this hierarchy.
Part 2: Creating Contacts on the Agency Account
Each person at the agency who needs to interact with your system — whether to log into a B2B portal, make bookings, or receive commission statements — must be created as a Contact under the agency Account.
Step-by-Step
- Open the agency Account record.
- Navigate to the Contacts related list and click New.
- Fill in the required fields:
| Field | Description |
|---|---|
First Name / Last Name | The agent’s name |
Email | Required for portal access and communications |
Phone | Optional — useful for operational contact |
Title | Their role at the agency (e.g., Senior Travel Advisor, Agency Manager) |
- Save the Contact.
Enabling Portal Access
If your organisation uses a B2B Agent Portal (Salesforce Experience Cloud), the contact must also be enabled as a Community User:
- On the Contact record, click Manage External User (or Enable Customer User).
- Assign the appropriate Community Profile (e.g., Agent User, Agent Manager).
- The contact receives login credentials and can access the portal to search, book, and manage reservations.
| Portal Role | What They Can Do |
|---|---|
| Agent User | Search packages, create bookings, view their own bookings |
| Agent Manager | Everything above, plus view all bookings for their agency and run reports |
| Agency Admin | Everything above, plus manage other users at their agency |
Tip: Contacts can be linked to multiple accounts using the Account Contact Relation (ACR) feature. This is useful for independent contractor (IC) advisors who book under their own brand but affiliate with a host agency for credentials. Enable this in Setup → Account Settings → Allow users to relate a contact to multiple accounts.
Part 3: Setting Up Reseller Agreements
A Reseller Agreement defines the commission terms between your organisation and an agency (or consortium). It answers: “When this agency books through a given channel, what percentage do they earn on each product type?”
Agency Tiers
Many operators organise agencies into tiers based on sales volume or partnership level. Tiers are a business concept — you implement them by assigning different Reseller Agreements with different commission rates to each tier:
| Tier | Typical Commission | How to Implement |
|---|---|---|
| Elite / Platinum | 12–16% | Create a high-commission Reseller Agreement and assign elite agencies to it |
| Preferred / Gold | 10–12% | Create a mid-tier agreement |
| Standard / Bronze | 8–10% | Create a base-rate agreement |
Step-by-Step Setup
1. Ensure Commission Groups Exist
Commission Groups are created under Kaptio Settings and must exist before you create an agreement. Common groups:
| Commission Group | Typical Use |
|---|---|
| Regular | Core products — tours, accommodation, activities |
| Airfare | Flight add-ons (usually lower commission) |
| Non-Commissionable | Insurance, taxes, port fees (0% commission) |
Each service in your catalogue is assigned to a Commission Group on the service record (Item__c.CommissionGroup__c). Commission Groups can also be assigned to Price Categories, Add-ons, Meal Plans, and Fees. This assignment determines which commission rate applies when the service appears in a booking.
2. Create the Reseller Agreement
- Navigate to Reseller Agreements (accessible from the Kaptio app or via the App Launcher).
- Click New Reseller Agreement.
- Fill in:
| Field | Description |
|---|---|
Name | A descriptive name — e.g., “Virtuoso Elite 2026” |
Account | The consortium or agency this agreement belongs to |
Status | Set to Active when ready |
Start Date / End Date | The validity period for the agreement |
- Save the agreement.
3. Add Commission Group Assignments
For each product type, define the commission percentage:
- On the Reseller Agreement record, navigate to the Commission Group Assignments related list.
- Click New.
- Select the Commission Group (e.g., Regular).
- Enter the Value (%) — e.g.,
12for 12% commission. - Save.
- Repeat for each Commission Group (e.g., Airfare at 5%, Non-Commissionable at 0%).
4. Add Channel Assignments
Link the agreement to the B2B sales channels it applies to:
- On the Reseller Agreement record, navigate to the Channel Assignments related list.
- Click New.
- Select the Sales Channel (e.g., “Travel Agent - US”).
- Save.
- Repeat for each channel (e.g., “Travel Agent - CA”).
5. Add Account Assignments
Link individual agency accounts to the agreement:
- On the Reseller Agreement record, navigate to the Account Assignments related list.
- Click New.
- Select the Account (the specific agency, e.g., “Element Lifestyle Travel”).
- Set Valid From and Valid To dates to control when the assignment is active.
- Save.
- Repeat for each agency that should use this agreement.
Tip: Account Assignments have time-based validity. This enables year-over-year rate changes — create a new agreement for the next year and assign agencies to it with a future
ValidFromdate. Historical bookings use the agreement that was in effect at the time of booking.
Part 4: How Commission Is Calculated
When an agency creates a booking, the system automatically calculates commission for each line item. The process follows a chain:
- The agency’s Account is linked to a Reseller Agreement via an Account Assignment.
- The booking is placed through a Sales Channel that has a Channel Assignment on the agreement.
- For each line item in the booking, the system looks up the service’s Commission Group.
- It finds the matching Commission Group Assignment on the agreement to get the percentage.
- The commission is calculated as: Line Item Sell Price × Commission %.
Worked Example
An agency books a 10-night package. The commission they earn depends on which Reseller Agreement their account is assigned to — and that assignment typically reflects their agency tier. Here are the Commission Group Assignments for three different agreements, one per tier:
| Commission Group | Standard (10%) | Preferred (12%) | Elite (15%) |
|---|---|---|---|
| Regular | 10% | 12% | 15% |
| Airfare | 3% | 5% | 5% |
| Non-Commissionable | 0% | 0% | 0% |
Each tier is a separate Reseller Agreement — agencies assigned to a higher-tier agreement earn more commission on the same booking. The line items below are identical for every tier; only the assignment on the agreement (reflecting agency tier) changes the rate taken from the same commission groups. Taking the Preferred tier as an example for invoicing walkthroughs later in this guide, the booking contains:
| Line Item | Sell Price | Commission Group | Commission (Standard) | Commission (Preferred) | Commission (Elite) |
|---|---|---|---|---|---|
| Boutique Hotel – 10 nights | $4,200 | Regular | $420.00 (10%) | $504.00 (12%) | $630.00 (15%) |
| Guided City Tour – Per Person | $380 | Regular | $38.00 (10%) | $45.60 (12%) | $57.00 (15%) |
| Domestic Flight – Per Person | $520 | Airfare | $15.60 (3%) | $26.00 (5%) | $26.00 (5%) |
| Travel Insurance – Per Person | $95 | Non-Commissionable | $0.00 | $0.00 | $0.00 |
| Booking Total | $5,195 | $473.60 | $575.60 | $713.00 |
Under the Preferred tier, the agency earns $575.60 in commission. But the same booking under a different tier produces a different result:
| Agency Tier | Agreement | Total Commission | Operator Net Revenue |
|---|---|---|---|
| Standard | Standard Partner 2026 | $473.60 | $4,721.40 |
| Preferred | Preferred Partner 2026 | $575.60 | $4,619.40 |
| Elite | Elite Partner 2026 | $713.00 | $4,482.00 |
The product, the price, and the booking are identical — only the Reseller Agreement (and therefore the tier) changes. How and when the agency receives that commission depends on the invoicing model — see Part 5: The Gross Flag.
Tip: If a service does not have a Commission Group assigned, the system cannot calculate commission for that line item. Always verify that every service in your catalogue has the correct Commission Group set on its record.
Part 5: The Gross Flag
The Gross Invoicing checkbox (GrossInvoicing__c) on the agency Account controls how invoicing works for that agency’s bookings. It determines whether the agent pays the full booking amount (including their commission) or only the net amount after deducting their commission.
Net Invoicing (Gross Invoicing = unchecked — default)
This is the default behaviour. The agency deducts their commission from the booking total and remits only the net amount to you.
Using the example from Part 4:
| Amount | |
|---|---|
| Booking total (sell price) | $5,195.00 |
| Agency commission (as calculated) | −$575.60 |
| Amount the agency remits to you | $4,619.40 |
The agency keeps their $575.60 commission and sends you $4,619.40. No separate commission payment is needed.
Gross Invoicing (Gross Invoicing = checked)
When Gross Invoicing is enabled, the agency pays the full booking amount — including the commission portion. You then pay the agency’s commission back to them separately.
Using the same example:
| Amount | |
|---|---|
| Booking total (sell price) | $5,195.00 |
| Amount the agency remits to you | $5,195.00 |
| Commission you owe the agency | $575.60 |
| Your net revenue after paying commission | $4,619.40 |
The end result is the same net revenue ($4,619.40), but the cash flow is different: you collect the full amount first, then pay the commission to the agency on your own schedule (typically monthly or quarterly via a Reseller Statement).
When to Use Each Model
| Model | When to Use |
|---|---|
| Net (default) | Agency deducts commission before paying you. Common for established agencies with high trust and regular booking volume. Simpler for the agency — they keep their share upfront. |
| Gross | You collect the full amount and pay commission separately. Common when you need tighter cash flow control, want to reconcile commission before paying it out, or when the agency relationship requires it. Also used when multiple agencies in a consortium settle via a central payment. |
Important: The Gross Invoicing setting on the Account flows into every booking the agency creates. It can also be overridden on individual itineraries (
Itinerary__c.GrossInvoicing__c) if a specific booking needs different treatment. The override on the itinerary takes precedence over the account-level setting.
Part 6: Reseller Statements
A Reseller Statement (ResellerStatement__c) is a summary document that aggregates what an agency owes you (gross model) or what you owe them in commission (net model). It is the primary tool for reconciling payments between your organisation and your agency partners.
What a Reseller Statement Contains
Each Reseller Statement has:
| Field | Description |
|---|---|
Reseller Statement Number | Auto-generated reference number (using the prefix and starting number from Business Unit settings) |
Account (Supplier__c) | The agency Account the statement is for |
Business Unit | The Business Unit generating the statement |
Document Date | When the statement was generated |
Balance Due | The outstanding amount — calculated as the sum of statement line amounts minus payments already made |
Amount Paid | Total payments already recorded against this statement |
Bulk Payment Status | Tracks whether the statement is open, partially paid, or fully settled |
Each statement contains Reseller Statement Lines (ResellerStatementLine__c), where each line represents a payment schedule entry from a booking:
| Line Field | Description |
|---|---|
Amount | The amount due for this booking/schedule entry |
Amount Paid | How much has been paid against this line |
Balance Due | Remaining amount on this line |
Date Due | When the payment is due |
Description | Reference to the booking or itinerary |
Payment Schedule | Links back to the original payment schedule on the itinerary |
How to Generate a Reseller Statement
- Navigate to Reseller Statements (from the Kaptio app or App Launcher).
- Click New Reseller Statement.
- Select the Account (the agency), Business Unit, and Currency. Currency is required because all transactions on a statement must be grouped and paid in a single currency.
- The system collects all outstanding payment schedule entries for bookings made by that agency in the selected currency.
- Each qualifying payment schedule entry becomes a Reseller Statement Line on the statement.
- Save the statement.
The statement is now a snapshot of everything the agency owes (or is owed) at that point in time.
Generating the PDF
Reseller Statements can be output as a PDF for sending to the agency:
- The PDF template is configured on the Business Unit via the
ResellerStatementPDFpage__cfield — this points to a Visualforce Page that defines the statement layout. - The email template for sending statements is configured via
ResellerStatementEmailTemplate__c. - The statement number format is controlled by
ResellerStatementPrefix__c(e.g., “RS-”) andResellerStatementStartingNumber__c.
Reconciling Payments
Once the agency sends payment against a statement:
- Open the Reseller Statement record.
- Record the payment using Bulk Payments (
BulkPayment__c) — each Bulk Payment is linked to the Reseller Statement. - The system updates the
Amount PaidandBalance Dueon the statement. - When the full balance is paid, update the Bulk Payment Status to reflect that the statement is settled.
Reconciliation checklist:
| Step | Action |
|---|---|
| 1 | Generate the Reseller Statement for the period |
| 2 | Send the statement PDF to the agency |
| 3 | Agency reviews and confirms the amounts |
| 4 | Agency submits payment (bank transfer, credit card, etc.) |
| 5 | Record the Bulk Payment against the statement in Kaptio |
| 6 | Verify that Balance Due is zero — the statement is now settled |
| 7 | For partial payments, the remaining Balance Due carries forward |
Tip: Generate statements on a regular cadence (e.g., monthly) to keep reconciliation manageable. Waiting too long creates large, complex statements that are harder to reconcile.
Validation Checklist
The checklist below is a manual QC process to confirm that agency accounts, reseller agreements, and commission settings are correctly wired before bookings are placed. Walk through each area after completing setup.
Before activating the agency for live bookings, verify:
Agency Account
- Record type is Agency (or Travel Agent)
-
Gross Invoicingmatches the agreed invoicing model (checked for gross, unchecked for net — see Part 5) -
Credit LimitandPayment Termsare populated and match the commercial agreement -
Reseller Payment Scheduleis set (specific schedule or “Channel dependant”)
Contacts & Portal Access
- At least one Contact exists under the agency Account with a valid email
- Portal user is enabled (if B2B portal is in use) with the correct Community Profile
- Portal login works — agent can log in and see the Package Search page
Reseller Agreement
- Agreement
Statusis Active -
Start DateandEnd Datecover the current booking period
Commission Group Assignments
- An assignment exists for every Commission Group used in your catalogue (e.g., Regular, Airfare, Non-Commissionable)
- Percentages match the agreed commercial terms for the agency’s tier
Channel Assignments
- The B2B sales channel(s) the agency books through are listed on the agreement
Account Assignments
- The agency Account (or consortium) is listed on the agreement
-
Valid From/Valid Todates cover the current period
Test Booking Commission
- Commission amount appears on the itinerary — each line item shows a value matching the Commission Group Assignment percentage
- Non-commissionable items show $0 commission
Reseller Statement Generation
- Statement is created with the correct Account and Business Unit
- Statement lines include the test booking with correct amounts
- PDF generates correctly using the Visualforce template configured on the Business Unit
Common Issues and Solutions
| Issue | Likely Cause | Solution |
|---|---|---|
| Commission shows as zero on a booking | The service’s CommissionGroup__c is blank, or the Reseller Agreement has no Commission Group Assignment for that group | Check the service record for a Commission Group value; add a matching Commission Group Assignment on the agreement |
| Agency cannot log into the B2B portal | Contact is not enabled as a Community User, or the Community Profile is incorrect | On the Contact record, click Manage External User and verify the user is active with the correct profile |
| Reseller Statement is missing bookings | The booking was placed on a channel not assigned to the agreement, or the Account Assignment dates don’t cover the booking date | Verify Channel Assignments and Account Assignment Valid From / Valid To on the Reseller Agreement |
| Wrong commission percentage applied | The agency is linked to the wrong Reseller Agreement, or the Account Assignment has expired | Check which agreement the agency is assigned to; verify the Account Assignment’s Valid From / Valid To dates |
| Gross/net invoicing mismatch on a booking | The GrossInvoicing__c flag on the Account doesn’t match expectations, or it was overridden on the itinerary | Check the Account-level flag; also check Itinerary__c.GrossInvoicing__c for a per-booking override |
| Commission Group not appearing when assigning to a service | Commission Groups are configured under Kaptio Settings, not on individual records | Navigate to Kaptio Settings → Commission Groups and create the missing group |
| Reseller Statement PDF is blank or won’t generate | The Business Unit’s ResellerStatementPDFpage__c field is empty or points to a non-existent Visualforce Page | Check the Business Unit record and set the correct Visualforce Page reference |
Related Schema Objects
| Object | API Name | Purpose |
|---|---|---|
| Account | Account | Travel agency account (Agency record type) |
| Contact | Contact | Individual agents at the agency |
| Account Contact Relation | AccountContactRelation | Links contacts to multiple accounts (IC pattern) |
| Reseller Agreement | KaptioTravel__ResellerAgreement__c | Commission terms for an agency or consortium |
| Commission Group Assignment | KaptioTravel__CommissionGroupAssignment__c | Per-product-type commission rate on an agreement |
| Reseller Agreement Account Assignment | KaptioTravel__ResellerAgreementAccountAssignment__c | Links an agency to an agreement with time-based validity |
| Reseller Agreement Channel Assignment | KaptioTravel__ResellerAgreementChannelAssignment__c | Controls which channels an agreement applies to |
| Commission Group | KaptioTravel__Group__c (TypeName = CommissionGroup) | Groups products by type for commission calculation |
| Reseller Statement | KaptioTravel__ResellerStatement__c | Aggregated statement of amounts due between operator and agency |
| Reseller Statement Line | KaptioTravel__ResellerStatementLine__c | Individual booking/schedule entries on a statement |
| Bulk Payment | KaptioTravel__BulkPayment__c | Payment recorded against a Reseller Statement |
See Also
- Cost & Pricing Architecture — how pricing modes work, including the commission section overview
- Trade Partners That Sell More — the outcome page for B2B agent sales, including portal setup and agency management
- B2B Trade Partner Setup — a deployable golden config with sample agencies, consortia, and reseller agreements
- Deposit & Payment Rules — payment schedules and deposit configuration
- Visibility & Access Rules — controlling what agents can see in the portal