Enlivy

Billing Schedules

Manage every recurring billing relationship in one place. Set up a subscription, retainer, or payment plan, link its invoices and receipts, and see exactly how much has been paid, what is pending, and where each relationship stands.

Start Today
Billing Schedules

FLEXIBLE BILLING

Bill Any Deal, Any Shape

Subscriptions, payment plans, or both in one schedule. You pick the right billing for each customer.

Every billing schedule runs one of two ways: Enlivy runs it end to end, or it mirrors a subscription you already run elsewhere. You choose per customer, and you can use both at once.

App-managed schedules bill in two shapes, recurring subscriptions and fixed payment plans, and can mix them in a single schedule: a setup fee, a finite intro period, then an open-ended retainer. Set it once.

  • Recurring subscriptions

    The same charge repeats on any cadence, weekly to yearly, indefinitely or until an end date.

  • Fixed payment plans

    A finite set of installments, each its own amount and date, invoiced and charged automatically on schedule.

  • Phased and mixed

    Step pricing up or down across phases, or combine a one-off fee, an intro rate, and an ongoing subscription in one schedule.

  • You run it, or you mirror it

    Let Enlivy run new billing end to end, or import subscriptions you already run and keep them in sync, no migration.

HANDS-OFF BY DEFAULT

Payments That Run Themselves

Set the schedule once. Enlivy invoices, applies the right tax, and collects, on time, every cycle.

Each cycle, Enlivy generates the invoice, numbered and taxed, and where a card is on file it charges automatically, through your own Stripe account, so the money goes straight to you.

It keeps itself honest too: payments reconcile in real time, a retry never creates a second charge, and nothing gets stuck.

  • Invoiced on time, every time

    An hourly process watches every active schedule and raises each invoice the moment it is due.

  • Charged automatically

    Saved cards are charged off-session when the invoice is created, with no customer interaction and no accidental double-bills.

  • Your account, your money

    Charges run through your own payment account, so funds go straight to you, never to Enlivy.

  • Self-correcting

    Payments reconcile in real time, an hourly re-check fixes any missed event, and stuck charges clear themselves.

  • Bank transfer and manual too

    Not everything is a card. Manual and bank-transfer methods are tracked right alongside the automatic ones.

SOUND FAMILIAR?

Where Did That Money Go?

Payments scattered across folders, inboxes, and spreadsheets, and no clean answer when someone asks what a client has actually paid. Here is what that costs you, and how Enlivy fixes it.

  • The problem

    Client payment confusion

    A client has paid you monthly for 8 months. How much in total? What is still pending? You should not have to dig through records to answer.

    One schedule shows every invoice and payment for a client, with totals and pending amounts always current.

  • The problem

    No long-term visibility

    You know what happened this month, but how much has this supplier cost you over the year? The data exists, just scattered everywhere.

    Every schedule keeps the full arc in one place, so the yearly picture is one click, not an investigation.

  • The problem

    Unstructured payment history

    Invoices in one folder, receipts in another, confirmations in email. Answering "how much did we pay them?" is archaeology, not accounting.

    Invoices, receipts, and payments live on the schedule they belong to, as one structured, running history.

  • The problem

    Manual reconciliation nightmare

    Month-end means hours of spreadsheet work matching payments to invoices, calculating totals, and hoping the numbers are right.

    Payments reconcile themselves against each invoice, so the totals are always right without the spreadsheet.

THE ENGINE BEHIND IT

Safe to Let Customers Self-Serve

Handing customers the controls is only a good idea if the machine behind the controls is trustworthy. Here is what makes ours safe.

  • Byte-exact price grandfathering

    When a customer changes plan, the items they already have keep their exact agreed price, currency, and quantity, to the cent, across unlimited changes. Raise list prices without a churn event.

  • A preview that equals the charge

    The "what will this cost me?" screen runs the real billing logic in memory, with no write and no risk, and is guaranteed to match the actual charge. There will be no surprises on the invoice.

  • Fair, one-directional proration

    Upgrades charge only the net, time-weighted difference as one clean invoice. Downgrades never pay cash back out. Foreign-priced lines are converted before netting.

  • One package, every currency

    Price the same package per currency, and bill each customer in their own. If a rate is missing or stale, the charge aborts rather than mis-bills. Correctness over collection.

  • No double charges, ever

    Charges are row-locked and idempotency-keyed, so a double-click, a retry, or a collision with the billing run cannot charge a customer twice.

  • Card-loss auto-recovery

    If a card expires, the subscription pauses itself instead of failing repeatedly. The moment a working card is added, it resumes and collects the balance owed. Revenue is not lost to an expired card.

Customer Self-Service, Set Per Schedule

Every billing schedule carries its own self-service rules. Each one can defer to the package default or override it, so you decide exactly what a customer can do on their own.

  • Change plan

    Use package default · Allow · Don't allow

  • Cancel subscription

    Use package default · Allow · Don't allow

  • Pause & resume

    Use package default · Allow · Don't allow

TRY IT

Reconfigure a Live Subscription

This is the real Change Package Terms editor. Open the drawer, add or edit a line, pick a proration mode, and watch the preview recompute, exactly what a customer sees.

Live preview

Interactive demo · loads on demand

EVERYTHING IN ONE PLACE

Everything You Need to Stay on Top of Payments

From automatic invoicing to audit-ready trails, built for businesses that need answers, not just data.

  • Unified Dashboard

    See all billing schedules in one place: inbound and outbound, active and completed. Filter by direction, status, sender, or recipient.

  • Hourly Auto-Invoicing

    An hourly background process watches every active schedule. When a payment is due, the invoice is generated automatically: numbered, taxed, and ready.

  • Off-Session Card Charging

    Cards are charged automatically when each invoice is created, no customer interaction needed. Idempotent charging means no accidental double-bills, ever.

  • Document Linking

    Link invoices, receipts, or payslips to any schedule. Enlivy auto-populates amounts, taxes, and payment status; saving hours every month.

  • Flexible Frequencies

    Weekly, bi-weekly, monthly, or yearly. Open-ended or bounded by an end date. Each phase can also have a fixed number of occurrences before stepping to the next.

  • Multi-Currency Billing

    Quote in one currency, bill in another. Enlivy converts each invoice at live exchange rates, with an optional conversion fee for FX spread, automatically, every cycle.

  • Status Management

    Mark schedules as pending, active, or cancelled. Keep your dashboard clean and focused on what matters now.

  • Reuse & Edit

    Clone existing schedules for similar arrangements. Edit active schedules as agreements change. Maximum flexibility, minimum hassle.

Structure Every Financial Relationship

  1. Create Your Schedule

    Set up any billing relationship in seconds. Choose direction (client paying you or you paying a supplier), type (subscription or payment plan), and frequency.

  2. Link Your Documents

    Connect invoices, receipts, or payslips to your schedule. Enlivy automatically pulls amounts, tax info, and payment status: building your payment history without manual entry.

  3. Watch It Update

    As invoices get paid or receipts are processed, the billing schedule updates to reflect the current state. No manual reconciliation, no status chasing.

  4. See The Complete Picture

    View total amounts paid, payment dates, pending invoices, and exactly where every financial relationship stands: instantly, from one dashboard.

API Reference

Billing Schedules from the API

Automate recurring revenue end-to-end. An app-managed billing schedule is run entirely by Enlivy: it generates invoices on the cadence you define, charges the saved payment method, retries failures, and moves through its own lifecycle: pending, active, paused, cancelling, completed. You define the composition once; the engine bills it on schedule.

This reference covers app-managed schedules only. Enlivy also supports Stripe-hosted schedules, where Stripe owns the subscription and runs the billing. Those are managed on Stripe’s side, so their creation and modification aren’t covered here. You can compose an app-managed schedule two ways: from raw phases (your own recurring line items and cadence) or from a subscription billing package (a reusable template). The examples below cover both, plus listing, editing, reconfiguring, and cancelling.

Query your schedules with pagination, filtering, and full-text search. Filter by status, direction (outbound / inbound), sender, receiver, contract, bank account, or any of the date ranges (starts_at, ends_at, created_at, updated_at). Expand the phases and generated payments inline.

GET/organizations/{organizationId}/billing-schedules
const organizationId = "your_org_id";
const token = "YOUR_TOKEN_HERE";

fetch(
  `https://api.enlivy.com/organizations/${organizationId}/billing-schedules?page=1&limit=20` +
    // status: pending | active | payment_method_required | paused | cancelling | completed | cancelled
    `&status=active&direction=outbound` +
    `&include=receiver_user,phases,payments` +
    `&include_meta=navigation`,
  {
    method: "GET",
    headers: {
      Authorization: `Bearer ${token}`,
      "Content-Type": "application/json"
    }
  }
);

Works together with