Skip to main content
Version: ILLiad 10.0 (Pre-release) 🚧

Odyssey Manager Automatic Billing

One of the most-requested features from the ILLiad community: Odyssey billing now runs automatically inside Odyssey Manager, as part of delivery. Previously it was applied outside the delivery service — by the EDU when its billing was enabled, or by hand in the desktop client — so it now happens consistently no matter how the EDU is configured. It uses your existing billing configuration.

Which paths get billed

Request typeBilled whenGate key
LendingOn send, before dispatchBillingActiveLending
Doc DelOn receive, during inbound finishBillingActiveDocDel

Borrowing is routing-only for this service — it creates no Borrowing charges, even though the inbound routing decision reads BillingActive.

How a charge is decided

Before billing anything, the service checks, in order:

  1. Request type. It must be Doc Del or Lending; anything else is skipped.
  2. Gate key. The matching key (BillingActiveDocDel or BillingActiveLending) must be on. If no key is on for that request type, nothing is charged and delivery proceeds unchanged.
  3. Already billed? If the request already has billing detail rows, billing is skipped — this is what makes a retried delivery safe, so an item is never double-charged.
  4. Exempt? If the billing category is Exempt (on the user for Doc Del, or the lender address for Lending), billing is skipped. Exempt is a value on the billing-category field, not a separate customization key.

When it does bill, the service writes the standard set of billing-detail rows (per-page charges, service level, shipping, copyright, and zero-amount placeholders).

Billing never blocks delivery

Billing is best-effort on both the send and receive sides — if a billing step fails, it's logged but the delivery still completes. And because billing is skipped when charges already exist, retries won't double-charge.