Learning contextDemo Retail Group LLC12 stores · 2 distribution centres · AED/SAR/USD · omnichannel replenishmentChange scenario details →
Skip to content

Demo OrbitCloud: subscription SaaS day ​

Demo OrbitCloud provides an ERP-connected warehouse platform to 1,800 customers in the UAE, Saudi Arabia, the United Kingdom, and Singapore. Customers buy annual subscriptions, add seats, consume API calls, and purchase onboarding services. OSERP must preserve the contract promise, bill the right legal entity, recognise revenue over the service period, collect in several currencies, and expose every amendment to finance and customer success.

1. Set up the catalogue and entitlements ​

Create a plan for each commercial promise rather than a single free-text item. The item master stores SKU, service type, revenue account, tax code, UoM, billing frequency, recognition rule, cancellation policy, and active dates. Entitlement records define what the customer may use; they do not post revenue by themselves.

FieldDemo valueWhy it matters
Plan SKUORBIT-WMS-PROStable product and API identifier
Billing frequencyAnnual, billed upfrontInvoice schedule and deferral
Included seats25Entitlement limit and overage trigger
Usage metricAPI callsMeter-to-invoice reconciliation
Overage rateUSD 0.002/callRated usage amount
Revenue account411210 Subscription revenuePosting and reporting
Deferred account218410 Contract liabilityUnrecognised billings
Recognition ruleDaily straight-lineRevenue schedule
Tax codeUAE standard digital serviceTax determination
CancellationProrated credit by policyCredit-control decision

Version a plan when price, inclusions, or tax changes. Never edit a live plan in place: a 2026 version must remain reproducible for an invoice issued in 2026.

2. Create the customer contract ​

Open Subscriptions → Contract → New. The header records legal customer, billing entity, service entity, sold-to, bill-to, currency, start date, renewal date, payment terms, contract owner, tax residency, source quote, auto-renew flag, and approval status. Lines record plan, quantity, discount, start/end dates, implementation fee, usage metric, committed minimum, and revenue allocation.

For Demo Gulf Logistics LLC, create 100 Pro subscriptions at USD 240 per seat per year, a 12% approved discount, and a USD 6,000 onboarding service. The contract header currency is USD even when the customer pays from an AED bank account; the settlement rate and bank fees belong to the receipt, not the original contract price.

The approval rule checks discount authority, margin floor, tax residency, credit limit, and whether the service entity is allowed to contract in the customer country. A draft has no invoice or revenue impact. An approved contract creates the billing schedule and audit event.

3. Schedule billing and recognise revenue ​

The annual subscription list price is 100 × USD 240 = USD 24,000; after 12% discount it is USD 21,120. Add USD 6,000 onboarding and the initial invoice is USD 27,120 before tax. OSERP posts the invoice to receivable and contract liability or deferred service revenue according to the configured performance obligation. It releases subscription revenue daily from 1 October 2026 to 30 September 2027; onboarding is released when the accepted implementation milestone is complete.

Billing fields include schedule date, source contract line, quantity basis, rate, discount, tax, invoice currency, exchange-rate source, posting date, and run identifier. A rerun with the same contract and period is idempotent. A failed invoice remains pending with an error reason; it is not silently skipped.

4. Meter usage and overages ​

The usage import contains customer contract, metric, measurement period, event time, quantity, source system, idempotency key, and validation status. In October the customer consumes 14,200,000 API calls. Included usage is 10,000,000; billable overage is 4,200,000 × USD 0.002 = USD 8,400. The usage statement shows raw events, accepted quantity, rejected quantity, included allowance, overage, rate, and invoice line.

Duplicate idempotency keys are rejected, late events are assigned to the policy period, and a corrected meter file creates an adjustment rather than changing posted history. Finance can drill from the invoice to the usage batch and original event hash.

5. Renewals, upgrades, and cancellations ​

At 60 days before renewal, OSERP creates a renewal work item containing current seats, utilisation, price version, discount expiry, open disputes, and customer-success owner. An upgrade from 100 to 140 seats on 15 January creates a prorated amendment: 40 × USD 240 × 259/365 = USD 6,805.48 before discount and tax. The amendment keeps original and new service dates visible.

Cancellation fields include request date, effective date, reason, policy result, unused service days, credit amount, approver, and customer communication. A credit note references the original invoice and contract line; it does not delete the revenue schedule. The schedule is revised prospectively and the difference is logged.

6. Collections and cash application ​

Receipts store payer, bank, value date, currency, gateway or bank reference, amount, fees, exchange rate, and allocation status. A USD invoice paid as AED 99,700 records the bank rate and realised FX separately. Auto-matching uses invoice number and customer; ambiguous funds remain unapplied until a user confirms the allocation. Dunning stages use due date, dispute flag, promise-to-pay, and credit hold.

7. Multi-country tax and close ​

The tax engine uses service location, customer tax registration, supplier of record, product tax category, and effective date. The same plan may post to UAE digital-service tax, Saudi tax, or UK tax accounts depending on the legal entity and evidence. Tax, receivable, contract liability, recognised revenue, FX, and bank fees are separate dimensions.

Month-end close reconciles active contracts to schedules, schedules to invoices, invoices to receivables, usage to overage lines, receipts to bank statements, deferred balances to release journals, renewals to approvals, and tax returns to tax reports. A close checklist blocks period completion while an unapproved amendment or unreconciled usage batch exists.

KPIBefore OSERP disciplineAfter OSERP disciplineImprovement
Invoice disputes7.4%1.6%78% lower
Usage-to-bill variance3.2%0.2%94% lower
Revenue close effort9 days3 days67% faster
Renewal forecast accuracy71%93%+22 points
Unapplied cash4.8%0.9%81% lower

Practice challenge ​

Create a versioned plan, approve an annual contract, generate the initial invoice, import duplicate and late usage events, post an overage, amend seats mid-term, issue a policy-valid credit, receive AED against a USD invoice, revalue the open balance, and complete the deferred-revenue close. Explain every header and line field, precision, permission, journal, tax result, API identifier, idempotency key, and audit event.

Related: AR Invoice field guide, Pricing and Discount field guide, Payment Receipt field guide, Multi-currency operations, and API cookbook.

OSERP™ Atlas · Understand every field. Master every workflow.