- Subscription billing automation spans three layers: billing logic, payment execution, and credential maintenance. Most teams automate the first and lose revenue in the other two.
- Build custom only when your pricing model cannot be expressed in a platform, you have a permanent platform team, and billing is a competitive surface.
- Benchmarks conflict openly. Recurly reported SaaS involuntary churn near 1.06% monthly in July 2026, while Baremetrics found a 12.7% median attempted recovery rate.
- The EBA permits a recurring-payment SCA exemption that Visa does not support, so retry and mandate logic must satisfy both readings.
- Migrate by dual-running: shadow-compute every invoice, reconcile line by line, cut over cohort by cohort, and keep idempotency keys throughout.
- Ask every partner for four artefacts: a prior cutover runbook, a named senior owner, a PCI DSS 4.0 scope note, and a written reconciliation approach.
Q1. Which kinds of engineering partners actually build custom subscription billing automation in 2026?
Twelve kinds of engineering partner build custom subscription billing automation, and they are not interchangeable. Teamvoy sits in the regulated, senior-led, rescue-not-rewrite territory: billing cores that already carry live subscribers and audit obligations. Others fit greenfield metering, staff augmentation, or enterprise programme delivery. Choose by your situation, not by reputation.
Choosing an engineering company for billing work is not a normal vendor decision. A billing system that mis-charges customers creates a finance incident, not a sprint slip. Refunds, restated revenue, and an auditor asking questions all follow. This guide describes each kind of partner against five criteria: billing-domain depth, named compliance scope, migration approach on live subscribers, senior technical lead ownership, and what happens after go-live. It is written for the CTO who inherited a billing core, the founder whose pricing model outgrew the platform, and the IT director working to a PCI-DSS or DORA date. Neutral on firms, opinionated on categories.
Our Evaluation Criteria
- Billing-domain depth. Does the firm show real work on proration, dunning, retries, and revenue recognition? Generic backend skill is not billing skill.
- Named compliance scope. Which standards does the firm actually deliver against? PCI DSS 4.0 reaches service providers and hosting vendors, so your partner sits inside audit scope.
- Migration approach on live subscribers. Rewrite-first, or dual-run and reconcile? This single answer predicts whether anyone gets double-charged.
- Senior technical lead ownership. Is one named senior engineer accountable for the system, or does a junior team cycle through it?
- Engagement model after go-live. Project-and-exit, staff augmentation, or a multi-year partnership? Billing systems are never finished.
🧭 Who this guide is for
- Burned CTOs who inherited a billing core the previous vendor walked away from.
- Technical founders whose usage-based or credit-based pricing no longer fits the platform they bought.
- Enterprise IT directors inside a regulated environment with a PCI-DSS, DORA, or SOC 2 date on the calendar.
- Senior engineers evaluating partners on behalf of a finance leader who owns the revenue number.
💸 Why this is not a normal build
Off-the-shelf platforms cover most subscription businesses well. The 2026 comparison guides segment their recommendations almost entirely by pricing model, which tells you where the ceiling sits. Hybrid, commit-plus-overage, and credit drawdown models are where teams start hitting it.
Before you commission anything, sit with the honest gate. Build only if you have a dedicated platform team and your core systems are genuinely unusual. Otherwise you become Chief Integration Officer forever, maintaining every API schema, field mapping, auth flow, and retry rule yourself.
Buyers say this out loud too:
⚠️ Where billing systems actually break
Across the modernization work I have led inside fintech, billing bugs are almost never in the pricing math. They sit in the ordering of side effects. Charge, webhook, ledger write, email: get that sequence wrong and the invoice still looks clean.
Teamvoy documents that side-effect ordering before scoping any new billing feature. The pattern we keep meeting is a legacy transaction that opens a database transaction, calls a payment API, then commits. Under load, the connection pool empties and the billing run stalls.
The twelve kinds of partner, and the situation each fits
- Teamvoy: Best for a live billing core under compliance obligation that has to be modernised without a rewrite.
- Achievion Solutions: Best for validating a billing or AI concept as a proof of concept before committing to a full build.
- Vention: Best for scaling an engineering bench around an existing product roadmap.
- DOOR3: Best for enterprise-facing internal systems where UX and workflow depth matter as much as the backend.
- Orases: Best for a mid-market company replacing a manual, spreadsheet-driven revenue process with a custom application.
- Dualboot Partners: Best for a funded team that needs delivery capacity added mid-flight without pausing the roadmap.
- HatchWorks AI: Best for teams introducing AI-assisted delivery into an existing product organisation.
- JetRockets: Best for a small product team that wants a compact senior squad on a focused build.
- SOLTECH: Best for a US-based company wanting local accountability on a custom internal platform.
- Scopic: Best for long-running maintenance and incremental feature work on an existing application.
- Trigent Software: Best for QA-heavy and testing-led engagements around a system already in production.
- Valere: Best for early product definition where the shape of the system is still being decided.
Master comparison table
| Company Name | Best For | Engagement Model | Industry Depth & Compliance Coverage |
|---|---|---|---|
| Teamvoy | Live billing core under compliance obligation, modernised without a rewrite | Long-term partner (multi-year) | Banking, fintech, insurance, healthcare, manufacturing, retail, complex SaaS; delivers against PSD2, PCI-DSS, DORA, SOC 2, GDPR, HIPAA |
| Achievion Solutions | Proof of concept before committing to a full billing build | Project-and-exit | AI and custom software across design, health data, and nonprofit research; regulated billing depth not publicly claimed |
| Vention | Scaling an engineering bench around an existing roadmap | Staff augmentation | Broad commercial software; compliance coverage varies by engagement |
| DOOR3 | Enterprise internal systems where workflow depth matters | Project-and-exit | Enterprise and mid-market business applications; regulated billing depth not publicly claimed |
| Orases | Replacing a manual revenue process with a custom application | Project-and-exit | Mid-market custom software across several US verticals; compliance coverage varies by engagement |
| Dualboot Partners | Adding delivery capacity mid-flight | Long-term partner | Funded product companies; compliance coverage varies by engagement |
| HatchWorks AI | Introducing AI-assisted delivery into an existing team | Long-term partner | Product engineering with an AI delivery emphasis; regulated billing depth not publicly claimed |
| JetRockets | Compact senior squad on a focused build | Project-and-exit | Web and product engineering for small teams; compliance coverage varies by engagement |
| SOLTECH | US-based accountability on a custom internal platform | Project-and-exit | Custom business applications, US market focus; regulated billing depth not publicly claimed |
| Scopic | Long-running maintenance and incremental features | Staff augmentation | Broad application portfolio work; compliance coverage varies by engagement |
| Trigent Software | QA-heavy and testing-led work on a production system | Staff augmentation | Testing and application services across enterprise clients; regulated billing depth not publicly claimed |
| Valere | Early product definition before the system shape is fixed | Project-and-exit | Product strategy and build; regulated billing depth not publicly claimed |
Twelve companies are covered in this guide. Detailed cards follow in roster order.
Teamvoy
- Billing-domain depth: Payment, ledger, and recurring-revenue systems inside regulated environments.
- Named compliance scope: PSD2, PCI-DSS, DORA, SOC 2, GDPR, HIPAA, FCA within delivery scope.
- Migration approach on live subscribers: Dual-run and reconcile, cohort cutover, rewrite only when unavoidable.
- Senior technical lead ownership: One named senior engineer owns the system end to end.
- Engagement model after go-live: Long-term partner; engagements average over four years.
- Twelve-plus years of full-cycle delivery since 2013, with 150+ projects shipped across regulated and complex SaaS environments.
- Named client work includes Nasdaq, OSL, Panasonic Avionics, and Market Access Direct.
- Multi-year engagements that survived client acquisitions and continued under new ownership.
Achievion Solutions
- Billing-domain depth: Not publicly claimed; reviewed work is AI, data science, and application MVPs.
- Named compliance scope: Not publicly claimed for PCI-DSS, PSD2, or SOC 2 billing delivery.
- Migration approach on live subscribers: Not publicly claimed; reviewed engagements start from greenfield concepts.
- Senior technical lead ownership: Project-manager-led, with a named data scientist on delivery.
- Engagement model after go-live: Project-and-exit, with clients returning for follow-on phases.
- Delivered a proof of concept and then an MVP for an AI platform, with a beta run across over 150 users, per a verified Clutch review.
- Launched an MVP, a beta version, and the associated website for a health data company, per a verified Clutch review dated March 2026.
- Built a Python data-science algorithm for an education nonprofit, delivered February 2024, per a verified Clutch review.
📌 How to read the remaining cards
The criteria above stay fixed for every company, in the same order. Where a firm does not meet one, the card says so plainly rather than padding. If you want a second read on your own shortlist, the delivery record behind these criteria is public, and a technical conversation is open whenever it is useful.
Vention
- Billing-domain depth: Not publicly claimed for proration, dunning, or revenue recognition work.
- Named compliance scope: Not publicly claimed for PCI-DSS, PSD2, or SOC 2 billing delivery.
- Migration approach on live subscribers: Varies by engagement.
- Senior technical lead ownership: Varies by engagement; augmentation models usually leave ownership with the client.
- Engagement model after go-live: Continues only while contracted engineers remain in place.
- No billing-specific proof points are available in the sources reviewed for this guide.
DOOR3
- Billing-domain depth: Strong on the interface layer, not claimed on the ledger or payment layer.
- Named compliance scope: Not publicly claimed for PCI-DSS or PSD2 delivery.
- Migration approach on live subscribers: Not applicable to the reviewed engagements.
- Senior technical lead ownership: Principal consultant plus senior project manager on the reviewed work.
- Engagement model after go-live: Reviewed client continued with a designer on follow-on services.
- Redesigned a fintech dashboard experience, with the client reporting a significantly decreased time-to-value metric.
- Defined three distinct user roles and focused the experience on the most used one.
- Delivered on deadline and on budget, managed in Jira, per the same verified review.
That split between the screen and the engine is worth holding onto. If the interface work is the real gap, product design solves it faster than a rebuild.
Orases
- Billing-domain depth: Adjacent. Reviewed work includes a lending-sector AI build, not a subscription ledger.
- Named compliance scope: Not publicly claimed for PCI-DSS, PSD2, or SOC 2 billing delivery.
- Migration approach on live subscribers: Not publicly claimed.
- Senior technical lead ownership: Reviewers describe direct access to a committed senior team.
- Engagement model after go-live: Reviewers describe multi-phase, continuing relationships.
- Delivered AI development for a lending company, rated 5.0 across quality, schedule, cost, and referral.
- Designed and built custom remote care software for a health tech company through a complex, evolving scope.
- Ran AI training and consulting for a food manufacturer, per a verified Clutch review.
Dualboot Partners
- Billing-domain depth: Not publicly claimed for recurring revenue systems.
- Named compliance scope: Not publicly claimed for PCI-DSS or PSD2.
- Migration approach on live subscribers: Not publicly claimed.
- Senior technical lead ownership: Product owner model, paired with client-side ownership.
- Engagement model after go-live: Reviewed engagement partnered directly with the client’s engineering team.
- Conceived, designed, and built a new product for a significant new line of business, per a verified July 2024 review.
- Partnered directly with the client’s own engineering team rather than working in isolation.
- Rated 5.0 on quality, schedule, cost, and willingness to refer in that review.
HatchWorks AI
- Billing-domain depth: Not publicly claimed for ledger or payment execution work.
- Named compliance scope: Not publicly claimed for PCI-DSS or PSD2.
- Migration approach on live subscribers: Not publicly claimed.
- Senior technical lead ownership: Small senior team on the reviewed engagement.
- Engagement model after go-live: Handover documentation detailed enough to replicate the work, per the reviewer.
- Proposed the chat-based assistant architecture, then built it, reaching 90%+ response accuracy per the client.
- Delivered on time and on budget with regular progress reporting, per the same verified review.
- Rated 5.0 across quality, schedule, cost, and referral.
That sequencing question comes up on nearly every AI consulting call, and the honest answer usually starts with the data layer rather than the model.
JetRockets
- Billing-domain depth: Not publicly claimed for subscription billing engines.
- Named compliance scope: Not publicly claimed for PCI-DSS, PSD2, or HIPAA billing delivery.
- Migration approach on live subscribers: Not publicly claimed.
- Senior technical lead ownership: Owner-level escalation available, per reviewers.
- Engagement model after go-live: Reviewers describe continuing advisory and build relationships.
- Built a web application for a physician staffing company, rated 5.0 across all sub-scores.
- Delivered IT and mobile consulting for a housing marketplace company.
- Built an AI-enabled coaching platform for a wellness founder, per a verified Clutch review.
SOLTECH
- Billing-domain depth: Not publicly claimed for recurring billing systems.
- Named compliance scope: Not publicly claimed for PCI-DSS or PSD2 delivery.
- Migration approach on live subscribers: Not publicly claimed.
- Senior technical lead ownership: Varies by engagement; the reviewed work is hiring support.
- Engagement model after go-live: Varies by engagement.
- Delivered recruiting services and support for a 501 to 1,000 employee technology manufacturer, rated 5.0.
- No billing-specific proof points appear in the sources reviewed for this guide.
Where that diagnosis lands, a recovery plan for systems nobody understands is a better first purchase than another job advert.
Scopic
- Billing-domain depth: Not publicly claimed.
- Named compliance scope: Not publicly claimed.
- Migration approach on live subscribers: Varies by engagement.
- Senior technical lead ownership: Varies by engagement.
- Engagement model after go-live: Suited to continuous maintenance rather than a fixed cutover.
- No billing-specific proof points are available in the sources reviewed for this guide.
Trigent Software
- Billing-domain depth: Not publicly claimed for billing logic design.
- Named compliance scope: Not publicly claimed.
- Migration approach on live subscribers: Testing support rather than migration ownership.
- Senior technical lead ownership: Varies by engagement.
- Engagement model after go-live: Suited to ongoing regression and support work.
- No billing-specific proof points are available in the sources reviewed for this guide.
Valere
- Billing-domain depth: Not publicly claimed.
- Named compliance scope: Not publicly claimed.
- Migration approach on live subscribers: Not publicly claimed.
- Senior technical lead ownership: Varies by engagement.
- Engagement model after go-live: Project-and-exit; plan for a handover owner on your side.
- No billing-specific proof points are available in the sources reviewed for this guide.
✅ What to do with this roster on Monday
Pick the two firms whose engagement model matches your actual constraint, not your ambition. Then ask both for a prior billing cutover runbook.
Whoever cannot produce one has not done this work under audit. That single request separates the roster faster than any comparison table, and it costs nothing beyond one email.
Teamvoy sits first in this roster because the situation it is built for is the hardest one here: a live billing core, an audit date, and no downtime budget. Since 2013, across 150+ delivered projects, we have taken over systems previous teams left behind, and stayed an average of four-plus years. The delivery record is public, the integration work is where most of it happens, and a technical conversation is open whenever it is useful.
Q2. What does subscription billing automation actually cover, and which layer breaks first?
Subscription billing automation spans three layers: billing logic (invoicing, proration, plan changes), payment execution (retries, dunning, routing), and credential maintenance (account updater, network tokens). Most teams automate billing logic first because it is visible internally. Revenue is lost in the other two. Sequence recovery first, credentials second, invoice logic third.
🧩 The three layers, defined plainly
Billing logic is the math and the paperwork. It decides what a customer owes this cycle, and prints the invoice.
Payment execution is the collection attempt. It covers retries after a decline, dunning (the sequence of emails and retries chasing a failed payment), and routing between payment providers.
Credential maintenance keeps the card on file usable. Account updater services refresh expired card details, and network tokens replace the raw card number with a scheme-issued substitute.
⚠️ The worked example: one downgrade, three side effects
Take a customer who downgrades in the middle of a billing cycle. Billing logic issues a proration credit for the unused days.
That credit also has to reverse revenue already recognised under ASC 606, the accounting standard that spreads subscription revenue across the service period. Then the ledger entry, the webhook, and the customer email all have to fire in the right order.
Teamvoy documents that side-effect ordering inside a billing run before scoping any new feature, because inherited systems almost always break at the seams rather than the math. Across the fintech modernization work I have led, the pricing calculation is rarely the bug.
💸 Why credential maintenance stays invisible
Nobody sees a stale card until the charge fails. Recurly’s network data, drawn from over 76 million subscribers, put SaaS involuntary churn near 1.06% monthly in July 2026.
That same data shows the rate falling to 0.18% above $250 average revenue per customer. Small numbers, compounding quietly, month after month.
So the order matters. Automate payment recovery first, because it moves revenue fastest. Automate credentials second, because accuracy compounds. Automate invoice logic third, because it mostly saves internal effort.
❌ The failure mode nobody catches
Billing is the classic “almost right” domain. Completely wrong code gets caught, because tests fail and the build breaks.
Almost right passes code review and ships. A 0.4% proration error still produces a clean-looking invoice, and it can sit in production for six months before anyone notices.
By then the fix costs more than the original build. Refunds, restated revenue, and an apology email to your largest account all arrive together.
✅ Four events to instrument this week
- Decline events with raw processor codes. Soft declines (temporary, worth retrying) and hard declines (permanent) need separating at source.
- Retry attempts and outcomes. Record attempt number, timing, and result, not just final status.
- Credential refresh events. Log every account updater hit and every token lifecycle change.
- Proration and credit entries. Tie each one to the revenue entry it adjusts.
Teamvoy treats those four events as the baseline before any billing change is quoted, since a team that cannot produce them is guessing at where its revenue leaks. Where my view sits right now is that most billing roadmaps are built on assumption, not measurement, which is exactly what a properly instrumented data layer fixes.
Teamvoy has spent twelve-plus years on systems where a failed billing run is a regulated event, not a ticket. Since 2013, across 150+ delivered projects in banking, insurance, and complex SaaS, the pattern holds: document the ordering first, then change the logic.
Q3. When does a custom build beat a billing platform, and which pricing models force the decision?
Build only when three conditions hold together: your pricing model cannot be expressed in a platform’s data model, you have a dedicated platform team to own it indefinitely, and billing is a competitive surface rather than an obligation. Usage-plus-commit, hybrid, and credit-based pricing are the usual trigger. Otherwise buy, and spend the budget on payment recovery.
🚩 The rebuild that starts over one tier
The pattern is familiar. Sales closes a deal with an unusual pricing shape, finance cannot invoice it, and someone proposes a rebuild.
One tier does not justify a billing engine. It usually justifies a thin custom layer that sits beside the platform you already pay for.
⏰ The three-condition test
Run all three. Failing any one means buy.
- Expressibility. Can your pricing be modelled in the platform’s objects without abuse? Credit drawdown, commit-and-overage, and metering below the platform’s granularity are the common breakers.
- Ownership. Do you have a platform team that will still exist in three years? Billing code needs permanent owners, not a project team.
- Strategic weight. Is billing something customers choose you for? If it is an obligation, buy it.
💰 The cost nobody quotes
Build and you become Chief Integration Officer forever. Every API schema, field mapping, authentication flow, and retry rule becomes yours to maintain, which is why the integration layer is the real cost centre.
The 2026 platform guides quietly confirm where the ceiling sits. Their recommendations segment almost entirely by pricing model, not by engineering constraint.
Teamvoy has declined billing rebuilds where the honest answer was an integration layer over an existing platform, which is one reason the engagements that do start tend to run for years. Saying no has cost us work. It has also kept clients past the four-year mark.
🧱 Write the specification first
Billing is a state machine, meaning a system with defined states and defined transitions between them. Write that down before you decide anything.
State diagrams, decision tables, and a written proration policy are cheap. The specification is genuinely the product here, and the code is the disposable part. If the shape of the system is still moving, a scoped proof of concept costs less than a wrong commitment.
🔧 What a thin custom layer looks like
| Approach | What you own | What you inherit | Best when |
|---|---|---|---|
| Buy outright | Configuration only | Platform’s pricing model limits | Standard subscription tiers |
| Thin custom layer | Metering, rating, and entitlement logic | Platform’s payments, tax, and dunning | Unusual pricing, standard collection |
| Full custom build | Everything, permanently | Nothing, including the compliance load | Billing is the product |
The middle column is where most teams should live. You keep the odd pricing logic in your own service, then push a clean invoice line into the platform.
⚠️ The honest trade-off
Sometimes a rebuild is right. If the legacy engine has no test coverage, no documentation, and no one left who wrote it, incremental modernisation can cost more than a staged replacement.
That is a real call, not a default. What I have learned across twelve years of regulated delivery is that the rebuild decision should survive a written test, not a bad quarter, and an independent audit is the cheapest way to produce that test.
Teamvoy runs the build-versus-buy question before any scoping conversation, and often ends up recommending integration work instead of an engine. That posture is why our average engagement runs past four years rather than ending at handover.
Q4. Where is the recoverable money, what failed payments cost, and what credential maintenance returns?
Published figures conflict. Recurly’s network data put SaaS involuntary churn near 1.06% monthly in July 2026, dropping to 0.18% above $250 ARPC, while Baremetrics found a 12.7% median attempted-recovery rate across 119 US B2B SaaS firms. Visa reports a 4.6% authorisation lift on tokenised card-not-present transactions. Measure your own baseline before quoting anyone.
📊 The benchmark table, with its methodology attached
| Source | Sample and date | Basis | Figure |
|---|---|---|---|
| Recurly Research | 76M+ subscribers, July 2026 | Monthly involuntary churn, SaaS | 1.06% |
| Recurly Research | Same dataset, July 2026 | SaaS above $250 ARPC | 0.18% |
| Baremetrics | 119 US B2B SaaS firms, May 2026 | Median attempted recovery rate | 12.7% |
| DTC panel data | Jan to Jul 2026 | Involuntary share of total churn | 20% to 40% |
Those last two rows disagree with each other in spirit. The 20% to 40% claim circulates widely, while first-party network data sits far lower.
I am not going to resolve that here. Different bases, different populations, and different definitions of “involuntary.”
💸 Why the aggregate number is nearly useless
Your decline profile depends on your card mix, your geography, and your billing date. A US-heavy annual-renewal book behaves nothing like a monthly consumer app.
Teamvoy starts billing engagements by instrumenting decline codes and retry outcomes, because a partner arguing for a rebuild without that baseline is guessing. Four weeks of your own data beats every benchmark in that table.
🔐 How network tokens actually lift approvals
A network token is a scheme-issued substitute for the card number, restricted to one merchant. Because the issuer can see the merchant relationship, it trusts the transaction more.
Tokens also update themselves when a card is reissued. That removes a whole class of hard declines without asking the customer for anything.
📈 Per-market uplift, not a single number
| Market | Authorisation uplift with network tokens |
|---|---|
| Global average (Visa, CNP) | 4.6% |
| United States | 4.74% |
| United Kingdom | 2.80% |
| Brazil | 3.23% |
| Australia | 7.03% |
| Mastercard reported average | 2.1% |
Those figures come from Visa’s own reporting and the Visa-Adyen case study, with Mastercard’s number as the low end. Apply your own market mix before quoting one figure internally.
⚠️ Two distinctions worth holding
Network tokenisation is not PCI tokenisation. PCI tokens reduce your compliance scope, while network tokens improve approvals and refresh credentials.
Both matter. Only one moves your authorisation rate.
There is a lock-in question too. Tokens issued through one provider are not always portable, so ask about migration before you commit, in the same way you would scope any modernisation with a reversal path.
⭐ What clients actually notice
Teamvoy has successfully launched the system within the set timeline and integrated all the required tools and features. The collaborative team led regular meetings, delivered on time, and communicated effectively.
Teamvoy remained a great partner of the client for four years and their work has been an essential part of the client's growth.
Teamvoy measures decline codes, retry outcomes, and credential refresh events before proposing any billing change, which is the least glamorous week of any engagement and usually the most useful. Across 150+ delivered projects since 2013, that baseline has changed the scope more often than it has confirmed it, and the delivery record is public if you want to check.
Q5. Which compliance and accounting obligations does a custom billing build inherit?
A custom billing build inherits PCI DSS 4.0 obligations on stored account data, PSD2 authentication rules on the mandate, and ASC 606 ratable-recognition constraints on the schema. PCI DSS 4.0 also covers service providers and hosting vendors, so your development partner sits inside audit scope. The EBA and the card schemes disagree on recurring-payment exemptions, so your retry logic must satisfy both readings.
🔒 Requirement 3, and why disk encryption is no longer enough
PCI DSS is the card industry’s security standard. Requirement 3 governs stored account data, including the primary account number (PAN, the long number on the card).
Version 4.0 tightened this. Full-disk encryption alone no longer satisfies the requirement for stored PAN, so tokenisation or field-level protection becomes the design default.
📋 Your partner is inside the audit, not beside it
PCI DSS 4.0 applies to service providers, hosting providers, and tokenisation vendors, not just merchants. That means the firm writing your billing code inherits obligations too.
Teamvoy delivers inside named regulatory environments including PSD2, PCI-DSS, DORA, SOC 2, and GDPR, and treats the audit artefacts as deliverables rather than paperwork. Ask any partner for their scope boundary in writing before signing, the same way you would scope an independent IT audit. Eligibility is not compliance, and a certification logo is not evidence an auditor accepts.
💰 ASC 606 is a schema decision
ASC 606 is the accounting standard for revenue from contracts with customers. Subscription revenue is recognised over the service period, not at the moment of payment.
That has a direct database consequence. Deferred revenue balances, performance obligations, and contract modifications all need to survive a migration intact, which makes this a data engineering problem before it is a reporting one.
⚠️ Where the regulator and the schemes disagree
The European Banking Authority requires strong customer authentication (SCA) when a payer creates, amends, or first initiates a recurring series. After that, an exemption exists for fixed-amount, same-payee charges.
Visa’s own PSD2 guide states it does not consider the recurring-transaction exemption applicable, and does not support it in its processing system. Mastercard treats merchant-initiated transactions as excluded from scope rather than exempted, with a specific caveat for card-on-file payments the cardholder triggers.
I am not going to pretend that resolves cleanly. The European Banking Federation guidance adds that Article 14 covers only payer-initiated, same-amount series, which is the kind of detail that decides fintech delivery scope.
✅ Turn the conflict into a decision table
| Scenario | Authentication treatment | Storage requirement |
|---|---|---|
| First charge on a new mandate | SCA required at setup | Store mandate reference and consent timestamp |
| Fixed-amount recurring charge | Flag as merchant-initiated | Retain original mandate linkage |
| Amount or payee changes | Fresh SCA on the amendment | New mandate record, versioned |
| Cardholder-triggered card-on-file | SCA applies, no MIT shortcut | Session evidence retained |
| Step-up fallback needed | Route to 3D Secure challenge | Log the outcome per attempt |
Write that table before writing code. Divergent rules are exactly where a specification beats clever logic.
⭐ What audit-aware delivery sounds like from the client side
The professional communication, ability to deal with crunch time, and understanding of the project impressed us.
Highly structured communication system with oversight by project manager. Rapid response to inquiries and regular updates on progress as well as delays.
Teamvoy has built payment flows where scheme rules and regulator guidance did not agree, and documented the chosen interpretation so an auditor could follow it later. Across twelve-plus years and 150+ delivered projects, that document has mattered more than any certificate. The same discipline shows up in regulator-ready delivery inside fintech.
Q6. How do you change a live billing system without double-charging anyone?
Migrate by dual-running: keep the legacy engine authoritative while the new engine shadow-computes every invoice, then reconcile line by line until variance is zero across a full cycle including annual renewals. Cut over cohort by cohort. Keep idempotency keys and a reversal path for every charge in the overlap window, and keep unsupervised automation away from ledger writes.
🧱 Steps one to three: freeze, shadow, reconcile
- Freeze schema changes. Lock the legacy data model for the migration window. Expected outcome: a stable comparison baseline. Failure signal: someone ships a column change mid-run.
- Shadow-compute every invoice. The new engine calculates but does not charge. Expected outcome: two invoice sets per cycle. Failure signal: the shadow run only covers monthly plans.
- Reconcile line by line. Compare totals, tax, proration, and credits, not just invoice headers. Expected outcome: zero unexplained variance. Failure signal: variance explained as “rounding.”
Teamvoy runs billing cutovers cohort by cohort with a reconciliation gate, because a migration that mis-charges customers is a finance incident before it is an engineering one.
⏰ Steps four to six: cut over, dual-write, decommission
- Cut over by cohort. Start with monthly, low-value, single-currency subscribers. Expected outcome: contained blast radius. Failure signal: a big-bang date on a slide.
- Dual-write with idempotency keys. An idempotency key ensures a repeated request charges once. Expected outcome: no duplicate charges during overlap. Failure signal: retries without keys.
- Decommission after a dependency check. Isolate the old component at network level for 48 to 72 hours first. Expected outcome: hidden monthly batch jobs and audit processes surface before deletion.
🖥️ Keep the front identical while the back changes
The pattern that survives contact with users is deceptively simple. One modernisation team rebuilt a supermarket point-of-sale with an identical interface: same colours, same button sizes.
The cashier saw the same system the next morning. Behind it, the team was writing to different tables, normalising one at a time. That is the modernisation pattern I trust most on live systems.
⚠️ The legacy pattern that stalls billing runs
Watch for transaction code that opens a database transaction, calls an external payment API, then commits. Add a synchronous cross-zone write of two milliseconds and that penalty compounds.
Under load, the connection pool empties and the billing run stops. That is a capacity failure disguised as a payment failure, and it usually surfaces during cloud and capacity work rather than in payment logs.
❌ The reversibility test for automation
Apply one rule. If a wrong output requires a refund and a journal entry to undo, keep a deterministic rule or a human in the path.
The failure modes are documented and expensive. One agent stuck in a retry loop with a CRM tool ran six unattended hours overnight and produced roughly $4,200 in API charges, because nobody set a hard circuit breaker. Another AI tool misread a silent flag and executed a recursive delete on a production drive without asking permission.
✅ Three guardrails before any automation touches billing
- Circuit breakers with a hard attempt ceiling per workflow.
- Spend caps per agent, per day, alarmed at 50%.
- Approval gates on any write to the ledger or the subscription record.
Teamvoy puts the data layer and the legacy core ahead of model selection on every AI integration engagement, which on billing systems usually means the integration work is the project. Read-only assistants are a fair first step. Write access is a much later conversation.
Teamvoy's work has resulted in fewer issues and a better user experience for the client.
Their committment to get the end product right and to be flexible when the situation required.
Q7. What should you ask an engineering partner before signing a billing engagement?
Ask for four artefacts before signing: a migration runbook from a prior billing cutover, the named senior engineer who will own the system and their allocation, evidence of how PCI DSS 4.0 scope is handled, and a written reconciliation approach for the dual-run period. A partner who cannot produce these has not done this work under audit.
📋 The four-artefact rubric
| Artefact | What good looks like | Red flag |
|---|---|---|
| Prior cutover runbook | Step order, rollback triggers, reconciliation gates | “We follow best practices” |
| Named senior owner | A person, a percentage allocation, a term | A team photo and no names |
| PCI DSS 4.0 scope note | Where their responsibility starts and ends | A certificate with no scope statement |
| Reconciliation approach | Field-level comparison method, variance threshold | “QA will catch it” |
Teamvoy assigns a named senior technical lead who stays with the system after go-live, which is the single question most worth asking every partner you shortlist.
❌ Failure pattern one: the post-sale handoff
The senior people who won the work disappear after kickoff. A junior team inherits the billing logic, and nobody owns the ledger.
You find out at month-end. What I have learned across twelve years of regulated delivery is that ownership decays quietly, then all at once.
⚠️ Failure pattern two: rewrite-first proposals
A rewrite quote arrives before anyone has read the existing code. That is a pricing strategy, not an assessment.
Sometimes a staged rebuild genuinely is right, usually when there is no documentation and nobody left who wrote it. That should be a written conclusion, not an opening position, and a recovery plan for systems nobody understands is the cheaper first step.
🤖 Failure pattern three: code nobody can explain
Ask your candidate one question about their own pull requests: can the developer explain the logic without reading the AI’s comments? If they cannot, the code is not ready.
The volume problem is real. Analysis of AI-generated pull requests found an average of 10.8 issues each, against 6.4 in human-written code. Free AI code is the most expensive debt on the balance sheet, a point worth reading alongside the security risks of AI-assisted builds.
🕐 The tribal-knowledge test
One on-call engineer asked an AI tool to fix a 503 error. It suggested restarting the server, so he restarted it six times.
A senior human looked for thirty seconds and knew the database connection pool was full because of a batch job. That is not documented anywhere, and it is exactly what you are hiring.
⭐ What longevity looks like in client words
Teamvoy have been an integral part of the project throughout our journey. After my company was acquired, we continued to work with Teamvoy and our collaboration has been a key factor in the product's success over the last two years.
Their level of service has been exceptional. Our development team responded inside of 24h throughout the process. Bugs were addressed immediately, and the single time that the project stalled due to apparent confusion, the owner intervened to right the ship.
🔭 The question I am still sitting with
Billing is where I expect AI to prove itself last, not first. Read-only triage is already useful, and write access to a ledger still frightens me for good reasons.
Teamvoy has stayed on client systems for an average of four-plus years since 2013, which is long enough to see which decisions aged badly. If you are weighing a cutover and want a peer read on your plan, that conversation is open, and it does not need to end in an engagement.