Crypto invoicing with recurring billing: challenges, workflows, and how Settlematic solves them
Retainers and subscription-style billing in crypto still fail when teams rely on payment links and calendar reminders. Here is how recurring schedules work in Settlematic, what breaks without them, and a rollout playbook finance teams can trust.
Recurring revenue is the backbone of agencies, consultancies, and B2B SaaS — yet crypto-native teams often bill retainers like one-off tips. A founder copies last month's USDC request into Slack, tweaks the amount, and hopes the client remembers to pay. There is no invoice number, no due date, no aging report, and no automatic reminder when the fifteenth passes without an on-chain receipt. Finance calls this 'recurring billing.' Operations teams living in Discord call it 'Tuesday panic.'
This article explains why recurring crypto billing breaks without proper invoicing infrastructure, how Settlematic's recurring schedules work under the hood, and what a realistic rollout looks like for a team billing $20k–$200k per month in fiat-quoted invoices settled in crypto. I lead finance product at Settlematic; examples reflect production behavior as of June 2026.
Why recurring crypto billing is harder than it looks
Card-based subscriptions hide complexity behind a processor. The merchant stores a token; the network charges on schedule; failures retry automatically. Crypto has no universal pull-payment rail. Every cycle is a push payment from the client's wallet. That asymmetry means your billing system must do more work, not less: generate documents, communicate terms, track status, and reconcile on-chain receipts against expected amounts.
Teams that skip formal invoicing for retainers discover the same failure modes every quarter. Revenue recognition drifts because nobody can tie txs to contract periods. Clients pay late but finance only notices when cash flow dips. Partial payments from last month's overpayment create arguments about what is 'current.' Tax reporting becomes a forensic exercise in block explorers. The problem is not crypto — it is missing invoice lifecycle around recurring commercial relationships.
- Manual reminders do not scale past ten clients
- Static wallet addresses blur which payment belongs to which billing period
- Spreadsheet schedules break when someone edits amount without updating the calendar
- Controllers cannot produce aging by client from chat logs
- Auditors ask for invoice numbers; you offer transaction hashes
What finance teams actually need from recurring billing
Recurring billing is not 'charge the same amount every month.' It is a contract expressed as data: who pays, how much, in which currency, on what cadence, with which line items and tax treatment, starting when, and what happens when someone pauses or changes scope. Crypto settlement is a payment method layered on top — not a replacement for those records.
When we interviewed Settlematic merchants running monthly retainers, four requirements appeared in every conversation. First, each cycle must produce a distinct invoice with its own number and due date so accounting can close the month. Second, clients need a familiar hosted checkout — not a new address pasted in Telegram. Third, treasury must sweep to merchant-controlled wallets without custodial balances. Fourth, finance needs dashboard visibility into next run dates, overdue counts, and per-client lifetime totals without exporting to CSV every Monday.
How Settlematic recurring schedules work
Settlematic treats recurring billing as scheduled invoice generation tied to client records. You create a client once — company name, email, tax ID, notes — then attach a recurring schedule with a name (for example 'Nexus Digital — monthly retainer'), amount, currency, interval, next run date, and active flag. Intervals supported today are WEEKLY, MONTHLY, QUARTERLY, and YEARLY.
A background worker evaluates schedules daily. When nextRunAt is on or before today and the schedule is active, Settlematic generates a full invoice: issue date set to the run day, due date computed from your org's default payment terms (Net 14, Net 30, etc.), line item copied from the schedule name and amount, allowed assets pulled from invoice defaults, and auto-send enabled so the client receives email with the hosted payment link. After generation, nextRunAt advances by one interval and totalGenerated increments. History is preserved — pausing does not delete past invoices.
- Client directory stores contacts, companies, and tax IDs with invoiced vs paid aggregates
- Schedule form: name, client, interval, amount, currency, next run date, active toggle
- Generated invoices are first-class records — same status machine as manual invoices
- Pause/resume without losing schedule history or past invoice numbers
- Dashboard shows recurring pipeline alongside outstanding AR and overdue counts
The client experience stays simple
Recurring billing fails when clients feel punished for your back-office automation. Settlematic's generated invoices use the same hosted payment pages as one-off work: fiat-quoted total, per-asset crypto amounts with rate validity countdown, QR codes, optional WalletConnect on EVM chains, and clear payment states (waiting, detected, confirming, confirmed). Your logo and brand color from settings appear on the page — clients see your brand, not a generic gateway.
Clients do not need a Settlematic account. They open the link from email, pay from any wallet, and download a PDF receipt when confirmed. For retainers, that consistency matters: month three feels like month one. Trust compounds when checkout does not change shape every billing cycle.
Common challenges and how we address them
Challenge: variable retainers. Not every month is flat. Agencies often have a fixed retainer plus project overages. Settlematic's answer is hybrid operations — recurring schedules for the fixed portion, manual or bulk CSV invoices for overages at month end, all reconciled against the same client record. Same payment detection, same sweep policy, same reports.
Challenge: client pays late or in tranches. Enable partial payments on invoices where contracts allow it. Status moves to PARTIALLY_PAID until fiat-equivalent balance due reaches zero. Recurring generation continues on schedule unless you pause — finance sees overdue separately from next month's draft.
Challenge: scope pause mid-contract. Pause the schedule in the dashboard. No future invoices generate until you resume. Already-sent invoices remain in SENT, VIEWED, or OVERDUE states with normal dunning semantics. You do not delete history to freeze billing.
Challenge: multi-chain treasury policy. Recurring invoices inherit allowed assets from org defaults or per-invoice overrides. Sweeps route confirmed payments to destinations you configure with percentage splits — non-custodial, on wallets you control. Recurring volume does not force you into a custodial processor balance.
Recurring vs payment links: a concrete comparison
Consider a design agency billing $8,500 monthly to twelve clients. Payment-link workflow: twelve static URLs or addresses, twelve manual reminders, twelve separate reconciliation threads. Invoicing workflow: twelve schedules, twelve auto-generated INV- numbers, twelve aging rows, one dashboard filter for overdue. At month end, the controller exports PAID invoices by date range — revenue ties to invoice IDs, not wallet memos.
Payment links optimize for speed on zero-relationship transfers. Recurring invoicing optimizes for relationship memory. If you have both donation tips and retainers, use links for the former and schedules for the latter. Mixing them for the same client creates the worst outcome: clients ignore unstructured requests while finance lacks structured records.
Rollout playbook: first 30 days
Week one — data hygiene. Import or create client records with legal names and emails. Configure invoice defaults: currency, terms, allowed assets, default notes. Upload logo and brand color so every generated page looks professional on day one.
Week two — testnet rehearsal. Flip org to testnet mode. Create one schedule with a short interval or manual 'run now' equivalent by setting next run to today. Pay from a test wallet. Verify email delivery, hosted page branding, status transitions, and sweep destinations. Treasury signs off before mainnet.
- Day 1–7: clients + defaults + branding
- Day 8–14: testnet schedule with internal wallet payment
- Day 15–21: migrate two friendly clients on mainnet schedules
- Day 22–30: move remaining retainers; enable webhooks for invoice.paid
Week three — pilot clients. Move two trusted retainers to live schedules with low amounts if anxiety persists. Compare their payment latency to your old manual process — most teams see faster payment when clients get consistent invoice emails with clear due dates.
Week four — automation hooks. Connect payment.confirmed webhooks to your ERP or data warehouse. Finance stops downloading CSVs for routine close. Ops monitors overdue dashboard instead of Slack archaeology.
Reconciliation and tax reporting with recurring volume
Each generated invoice participates in the same reporting model as manual invoices. Aging reports bucket open balances by due date. Client pages show lifetime invoiced vs paid. Tax buckets accumulate per line item based on jurisdiction settings. Month-end export filters by status and date range — your bookkeeper starts from invoice list, not chain indexers.
For teams with quarterly VAT or sales tax filings, recurring volume makes configuration discipline pay off. Set tax rates on templates via defaults; generated invoices inherit behavior. When a rate changes mid-year, update defaults and new schedules — edit existing schedules before next run if contracts require.
Pairing recurring with bulk and API workflows
High-volume shops combine recurring schedules for predictable revenue with bulk CSV upload for project batches. Agencies use client records as source of truth for retainers while uploading forty milestone invoices after a sprint. Settlematic's REST API and Claude MCP tools can list schedules, create clients, and draft invoices — but recurring generation itself runs server-side so laptops sleeping at 2am do not block billing day.
If you are automating client creation from a CRM, create the client via API once, attach schedule via dashboard or API when the contract is signed, and let generation run unattended. Human approval stays on send toggles and pause decisions — not on remembering calendar dates.
Real merchant scenarios (anonymized)
Scenario A — EU marketing agency, fourteen retainer clients, €6,200 average monthly. Before Settlematic, account manager duplicated a Google Doc invoice, converted EUR to USDC manually, and DM'd a wallet address. Average collection time: 11 days after month start. After migrating to MONTHLY schedules with Net 14 terms and USDC-on-Polygon allowlist, average collection dropped to 4.8 days. Finance attributed the improvement to consistent invoice emails with due dates, not faster chains.
Scenario B — US SaaS consultancy billing quarterly in USD, clients paying mixed ETH and USDC. Quarterly schedules aligned with contract renewal language. Partial payments enabled for one enterprise client paying in three tranches per quarter — finance stopped issuing supplemental 'true-up' invoices that confused auditors. Controller exported Q2 PAID invoices into their warehouse with webhook sync.
Scenario C — solo fractional CFO serving eight crypto-native startups. WEEKLY micro-retainers for two clients, MONTHLY for six. Dashboard recurring pipeline view replaced a Notion table that was always stale. The CFO spends Friday MCP sessions listing overdue schedules instead of chasing founders in group chats.
Security and permissions for recurring operations
Only org admins should create or edit schedules by default — same policy as sweep destination changes. Team members with invoice create permissions can still manual-invoice between cycles. API keys with recurring write scopes (when exposed via REST) should be rare; most automation reads schedule state rather than mutating it. When someone leaves the company, revoke keys and audit active schedules they owned in runbooks.
Recurring does not bypass TOTP or session requirements on the dashboard. Background generation runs server-side with org context — not user laptops — so schedules fire when your finance lead is offline. That reliability is the point.
Metrics to track after migration
- Days sales outstanding (DSO) by client — should stabilize or decrease
- Overdue invoice count week-over-week — spikes indicate client confusion, not just lateness
- Support tickets mentioning 'payment link' or 'which address' — should trend to zero
- Percent of revenue from scheduled vs manual invoices — target 70%+ for retainer-heavy shops
- Time spent on month-end reconciliation hours — finance self-report; expect 30–50% reduction
What we are still improving
Transparent roadmap items matter for trust. Schedule version history — seeing who changed amount and when — is on our roadmap. Per-schedule line item templates beyond single-line retainers are expanding. Dunning email sequences beyond initial send are evolving. We document gaps plainly so finance teams plan around them rather than discovering in production.
Who should enable recurring billing this quarter
If more than 30% of your revenue repeats on a known cadence, you are leaving money and sleep on the table without schedules. If your accountant asks for 'accounts receivable aging' and you hesitate, you are ready. If clients say 'just send the same link as last time,' you are overdue for invoice numbers and due dates.
Settlematic's recurring billing exists because crypto settlement should not mean crypto chaos in the back office. Quote in fiat. Generate on schedule. Let clients pay in ETH, BTC, SOL, USDC, or USDT on the chains you allow. Sweep to wallets you control. Close the month from structured data. That is recurring billing worth migrating to — not another calendar reminder duct-taped to a wallet address.