AR automation for complex enterprise contracts

Your contracts are complex.
Your AR shouldn’t be.

Apfi reads each contract once, then runs billing, collections and revenue recognition from exactly what it says.

Enterprise contracts weren’t written for billing software.

Billing tools start from a price plan. Your contracts start from a negotiation, and the terms that matter most rarely fit the template.

What billing software expects

Plan Enterprise
Seats 250
Usage Metered
Discount code

What your contract actually says

  • Annual floor
  • Prepaid pool
  • Tiered usage
  • Volume discount over the year
  • Price escalator
  • Year-end true-up
  • SLA credits
  • Milestone payments
  • Several billing entities
  • Several currencies

Apfi starts from the contract, not from a billing template.

One contract. All the way to cash.

Follow a single contract with Oriel Telematics through a month of billing: 1,240,000 API calls in March, a volume discount crossing its threshold, and an annual minimum still in play.

Every clause read, with its source kept

Apfi reads the PDF and proposes each term alongside the clause it came from. Nothing is used until your team approves it.

Usage lands on the right contract line

Import usage files in the layout you already have. Each row is matched to a customer, contract and charge. Anything unrecognised waits for a person.

Every step of the price, in order

A deterministic engine applies the approved terms to the usage one step at a time. The same inputs always give the same answer.

Invoices out, reminders on schedule

Raise invoices one at a time or on an automatic schedule, then follow up with reminders you have approved.

Revenue earned as the contract promised

Revenue follows the promise, not the invoice date. Close the month and its journal is frozen and sent to your accounting system.

See exactly how every number was calculated.

Click any invoice line and Apfi shows the clause, the usage and the arithmetic behind it. Your customer’s question has an answer before they ask it.

INV-2026-0312

Oriel Telematics, usage for March 2026

Sent Apr 1
1API usage1,240,000 × $0.05$62,000.00
2Volume discount5% of $47,500.00−$2,375.00
3Annual minimumChecked in DecemberNot due yet
Total due May 1$59,625.00

Why $59,625.00?

  1. 1

    The usage rate

    §4.2 “Usage is charged at $0.05 per API call.”

    1,240,000 calls matched from the March usage file.

  2. 2

    The volume discount

    §4.3 “Once spend in a calendar year exceeds $100,000, a 5% discount applies.”

    Spend reached $85,500.00 by February and $147,500.00 in March, so $47,500.00 is past the threshold.

  3. 3

    The annual minimum

    §4.1 “Not less than $600,000 in each Contract Year.”

    Checked once, in December, against everything billed this year. Nothing to add in March.

Every number has a trail

  1. Contract read, 4 terms approved Controller
  2. Amendment recorded, taking effect in 2027 Controller
  3. 1,240,000 March calls matched AR analyst
  4. INV-2026-0312 raised and sent AR analyst
  5. March closed, journal sent to QuickBooks Online Controller
  6. Promise to pay recorded for May 15 AR analyst

AI reads the contract. Arithmetic does the rest.

A language model is good at reading clauses and bad at being trusted with money. So it only proposes terms. A person approves them, and a deterministic engine calculates every amount on the invoice.

  1. The contract Clause “…a 5% discount applies to further spend.”
  2. AI Reading Volume discount, 5%, past $100,000 a year
  3. Your team Approved term Checked against the clause and accepted
  4. Calculation engine Arithmetic Applied to the usage, one step at a time
  5. The invoice Amount −$2,375.00 on INV-2026-0312
  • Every figure traces to a clause

    Open any amount and see the contract wording and the usage behind it.

  • A person approves every term

    Whatever the AI reads stays a proposal until someone on your team accepts it.

  • Currencies are never added together

    A euro contract and a dollar contract are reported side by side, never summed.

  • Missing figures say why

    If a number can’t be calculated yet, the screen says what it is waiting for. Never a zero.

Built for the terms other billing systems leave to spreadsheets.

Commitments that settle once a year, discounts counted across months, pools that run dry mid-cycle. Apfi prices each one the way the contract wrote it.

A minimum checked once a year

Nothing is added to monthly bills. In December the year is totalled and any shortfall is billed once.

Prepaid, then billed past it

Usage draws the pool down first. Only what goes past it reaches an invoice, with no manual true-up.

A discount counted over the year

Billed monthly, measured annually. The month that crosses the line is the first one discounted, and nothing already billed is re-priced.

Price steps on the anniversary

A 4% escalator applies on the date the contract names, to the charges it names, and nowhere else.

See every term Apfi prices

How a charge is priced

A set fee
The same amount every period, or set amounts on set dates — milestones or a one-off fee.
A rate per unit
Quantity used × one price per unit — 900,000 API calls at $0.05 each. A fixed seat count can bill the same way without a usage file.
A rate that changes with volume
The unit price changes by band within each bill, either band by band like tax brackets or with the whole volume priced at the band it reaches.
A flat fee picked from a rate card
The contract lists options — a service tier, a head-count band, a region — each with its own flat fee. Each period someone picks the row that applies.
A per-unit rate picked from a rate card
The contract lists options, each with its own per-unit rate — calls priced by region, say. Each period someone picks the row that applies, and usage bills at that rate.

Usage pricing options

Overage
An included allowance, then usage past it at its own rate or tier table, measured each period or cumulatively across the contract.
Prepaid pool
A balance bought up front, in units or money, drawn down by usage. Past it, usage bills at the standard rate. A usage charge has an overage or a prepaid pool, not both.

What changes the price

Price escalation
A step-up in price on the dates the contract names — a yearly anniversary increase, for example.
Volume discount
A percentage off once volume or spend passes a threshold, counted per bill or over a longer window such as a year. Nothing already billed is re-priced.
SLA credits
A missed uptime or service-level commitment earns a credit on the bill.
Minimum commitment
A floor on what the customer pays — each period, or checked once at year end and topped up in one pass. A shortfall in units can carry forward into later periods.
Customer credits
Scheduled or pooled credits drawn against bills, never taking one below zero.
Free period
A trial or free window that bills nothing.

Collections with context, not form letters.

Every reminder knows the invoice, the contract and the conversation so far. When a customer promises to pay or disputes a charge, chasing stops by itself.

  • Reminders in your words

    Approve the wording once per entity. Reminders go out on schedule after that.

  • Promises and disputes pause chasing

    Record a promise to pay or a dispute, and reminders stop until it is resolved.

  • Replies sit beside the invoice

    A customer’s answer lands in the thread for the invoice it is about, not someone’s inbox.

The same contract drives revenue recognition.

What you bill and what you earn often differ. Apfi works out both from the same terms, keeps them apart, and posts the difference to the right account.

  • Each promise in the contract names how it earns
  • Closing a month freezes its journal for good
  • A later correction lands in the current month, with its cause

Eight ways a promise can earn

  • Spread Evenly
  • As Consumed
  • At a Moment
  • Stated Percentages
  • Pool Drawdown
  • Committed Floor
  • Each Charge
  • As the Work Is Completed

Everything receivables needs, on one contract record.

Eight working areas, one set of approved terms underneath. Nothing is re-keyed between them.

  • Contracts

    Read, approve and amend every commercial term.

  • Usage

    Import usage files and match every row to a contract line.

  • Billing

    Raise invoices by hand or on an automatic schedule.

  • Collections

    Chase with context, pause on promises and disputes.

  • Cash

    Match payments and bank lines, age what’s still owed.

  • Revenue

    Earn by promise, close the month, post the journal.

  • Analytics

    Order book, billings, cash and revenue, each on its own basis.

  • Accounting sync

    Invoices, credit notes and journals sent to QuickBooks Online.

Figures that agree, because they come from the same terms

Order book, billings, cash and revenue each state their basis, so recurring revenue is never confused with what was actually earned.

Annual recurring revenueContract basis
$4.82M
Billed in SeptemberBillings basis
$436.2K
Collected in SeptemberCash basis
$398.9K
Earned in SeptemberRevenue basis
$412.4K
Monthly recurring revenue $402K in September, up 26% in twelve months Sample portfolio, USD
$320K $360K $400K NovJanMarMayJulSep

Go live without a big-bang cutover.

Start from what customers owe you today, check every term before it is used, and see the first billing run before anything is sent.

  1. 1

    Bring open invoices across

    Import what customers owe you today, so ageing and collections are right from the first morning.

  2. 2

    Upload your contracts

    Apfi reads each one. Your team reviews every term against the clause it came from and approves it.

  3. 3

    Preview the first billing run

    See every invoice the run would raise, with its workings, before anything reaches a customer.

  4. 4

    Connect your accounting system

    Invoices, credit notes and month-end journals flow to QuickBooks Online.

Questions finance teams ask first.

Anything else, bring it to the demo. We’ll answer it against one of your own contracts.

Does Apfi replace our accounting system?

No. Apfi sits between your contracts and your ledger. It raises invoices, tracks collections and works out revenue, then sends invoices, credit notes and journals to QuickBooks Online.

Does AI decide what we bill?

No. AI reads the contract and proposes the terms. A person approves them, and a deterministic calculation engine works out every amount from those approved terms. The same inputs always produce the same invoice.

What happens with a contract Apfi can’t fully read?

It is kept and flagged, never rejected. The terms Apfi could read are filled in, and anything uncertain is marked for a person to complete before the contract can be billed.

We bill from several entities in several currencies. Does that work?

Yes. Every contract belongs to an entity and a currency, invoice numbering runs per entity, and figures in different currencies are shown side by side rather than converted and added.

Can we fix a contract after invoices have gone out?

Yes. Record the amendment with the date it takes effect. Invoices already sent are never rewritten; if a closed month is worth something different now, Apfi shows the difference and lets you decide whether to bill it.

Does Apfi take payments?

No. Customers keep paying the way they do today. Apfi matches the payments and bank lines back to invoices so you can see what is still owed.

Your contracts already contain the logic. Apfi puts it to work.

Built for finance ops at multi-entity companies whose contracts don’t fit a price plan. Bring one real contract and we’ll show you its first invoice.

  • CFOs

    One record from signed contract to earned revenue, with every figure on its stated basis.

  • Controllers

    Workings you can audit, a lock date on closed months, and a journal that doesn’t move.

  • AR teams

    No more reading contracts to build invoices, and a morning list of who to chase and why.

Request a demo