LedgerUp Resources
Salesforce Contract Amendments in Stripe: Expansions, Co-Terming, and Proration Without Manual Edits
An expansion closes in Salesforce in month seven. The Stripe subscription still says twenty seats. Amendments are where CRM-to-billing syncs quietly stop working: proration, co-terming, mid-ramp changes, and downgrades at renewal all need decisions, not field mapping. This guide covers the five amendment shapes, the Stripe mechanics for each, and how to apply them from the Salesforce record without editing Stripe by hand.
In This Article
The first invoice is the easy part. Amendments are where Salesforce-to-Stripe automation earns its keep or fails. A closed-won expansion, a co-termed add-on, a downgrade at renewal, an early extension: each one changes a live Stripe subscription in a specific way, with money attached. Get proration wrong and the customer disputes the invoice. Miss the co-term and the add-on renews on its own date forever. Skip the mid-ramp update and year two bills at the wrong price.
This guide covers the amendment shapes that come out of Salesforce, what each one has to do in Stripe, and how to apply it from the Salesforce record. It assumes the original deal was built as described in the Salesforce to Stripe billing automation hub: one Stripe subscription (or schedule) per contract, keyed to the account. Updated September 2026.
Quick answer
Treat every amendment as an update to the existing Stripe subscription, never a second subscription. Add items with proration from the effective date; end the added items with the master agreement so they co-terminate; apply downgrades at period end through a schedule phase rather than immediate credits; on ramped deals, rewrite the remaining schedule phases; preview the invoice before applying anything; and write the new Stripe state back to the Salesforce account and the amendment opportunity. The amendment's source of truth is the signed amendment order form, and the CPQ amendment quote or expansion opportunity has to be checked against it.
The five amendment shapes
| Shape | What changes | What Stripe has to do |
|---|---|---|
| Seat or quantity expansion | More of an existing item mid-term | Update the item quantity with proration from the effective date; keep the billing cycle anchor |
| Tier upgrade | Swap one price for a higher one mid-term | Replace the item's price with proration; credit the unused portion of the old price |
| Co-termed add-on | A new product added mid-term, ending with the master agreement | Add the item with proration; on a schedule, add it to the current phase so it ends with the phase; charge the partial period now |
| Downgrade or removal | Fewer seats or a removed product | Usually effective at renewal: schedule the change for the next phase, no mid-term credit unless the contract says so |
| Extension or early renewal | Term extended, often with new pricing | Append phases to the schedule (or create one from the subscription) with the new prices and end date |
A sixth shape hides inside the others: any amendment to a ramped deal. If the contract steps up each year and the customer adds seats in month seven of year one, the added seats have to appear in every remaining phase at each year's price, not just the current one.
Book a LedgerUp Demo
See how Ari connects contracts, billing, collections, approvals, and accounting records while finance stays in control of exceptions.
Book a LedgerUp DemoWhere amendments start in Salesforce
With Salesforce CPQ. The Amend action on the contract produces an amendment quote whose lines are deltas against the original: plus ten seats, a new add-on line, a negative quantity on a removed product, all with the amendment's start date and an end date matching the master term. When the amendment quote is accepted, a new opportunity closes and the CPQ subscription records update. The delta lines are exactly what the Stripe update needs, provided the start and end dates are honored.
LedgerUp Insight: The workflow described above is one that LedgerUp automates end-to-end. Ari handles the repeatable steps, keeps the source records connected, and routes exceptions to finance for review.
Without CPQ. An expansion is a new opportunity on the same account, typed Expansion or Upsell, with an amendment order form attached. The opportunity amount is the incremental annual value, not the new total, and the effective date and co-term date are in the PDF. Whatever applies the amendment has to read that PDF or trust that someone keyed the dates into fields.
In both cases the tiebreaker is the signed amendment. Blended rates for added seats, a different overage rate from the effective date, or a one-time credit negotiated in the amendment appear on paper before they appear in fields.
The Stripe mechanics: proration, schedules, previews
- Proration behavior. When you update a subscription item, Stripe's proration_behavior decides what happens: create_prorations adds prorated line items to the next invoice, always_invoice bills the proration immediately, and none applies the change with no adjustment. B2B expansions usually want always_invoice so the customer pays for the added seats now, on net terms, rather than as a line buried in the renewal invoice.
- Proration date. Set it to the amendment's effective date, not the day someone processed it. A two-week processing lag otherwise shortchanges the invoice.
- Billing cycle anchor. Leave it alone on expansions and co-terms. Resetting it moves the renewal date, which is almost never what the contract says.
- Subscription schedules. Future-dated changes (a downgrade at renewal, a price change in year two, an extension) belong in schedule phases. Editing the remaining phases is how a mid-ramp amendment is applied without touching invoices already issued.
- Invoice preview. Stripe can preview the invoice an update would produce. Every amendment should be previewed and the amount compared with the order form before it is applied. This is the step manual processes skip and the one customers notice.
- Never edit a finalized invoice. If the amendment is backdated into a period already invoiced, issue a credit note and a new invoice. Editing history breaks the audit trail and the ERP reconciliation.
Worked example: ten seats in month seven
Original contract: 20 seats at $1,200 per seat per year, billed annually in advance, 12-month term starting January 1, net 30. Amendment signed July 1: add 10 seats at the same rate, co-termed to December 31.
- Ari reads the amendment order form and the expansion opportunity: 10 seats, $1,200, effective July 1, co-term December 31. The opportunity amount says $6,000, which matches 10 seats for six months, so the numbers reconcile.
- The Stripe subscription item quantity goes from 20 to 30 with proration_behavior always_invoice and proration_date July 1. Stripe computes the unused half-year on 10 seats: about $6,000 (Stripe prorates by time, so the exact figure depends on the day count).
- The preview shows one invoice for about $6,000, net 30, with the PO number and a line description "10 additional seats, July 1 to December 31." Finance approves in Slack.
- The invoice is issued. The renewal on January 1 now quotes 30 seats at $36,000 unless the renewal changes it.
- The account shows 30 seats, the expansion opportunity gets the Stripe invoice ID and status, and the CPQ subscription record (if CPQ) gets the updated quantity.
If the same deal were on a three-year ramp with $1,200, $1,320, and $1,452 per seat, step two also rewrites phases two and three to 30 seats at those prices. Miss that and year two invoices 20 seats.
Applying amendments: four ways
| Method | Expansion with proration | Co-term | Mid-ramp change | Preview and approval | Write-back |
|---|---|---|---|---|---|
| Stripe for Salesforce Platform | Yes, through subscription lifecycle flows an admin builds | If the flow sets end dates | Manual schedule edits | Not built in | Synced objects |
| Zapier or Make | Update Subscription with a quantity; proration settings are limited | No | No | No | Field update |
| Workato, MuleSoft, or Apex | Yes, as rules | Yes, as rules | Yes, as rules | Build it | Build it |
| LedgerUp | Yes, from the amendment order form | Yes | Yes, remaining phases rewritten | Preview posted in Slack before applying | Account, opportunity, CPQ subscription |
Rules that keep amendments clean
- One Stripe subscription per contract. A second subscription for the expansion creates two renewal dates and two invoices the customer did not agree to.
- Effective date from the paper, not the processing date.
- Co-termed items end with the master term. Check the end date in the preview.
- Downgrades at period end unless the contract explicitly allows mid-term reductions.
- Preview every amendment; approve anything outside tolerance; never edit finalized invoices.
- Write the new state back to Salesforce the same day, so the next amendment starts from the right numbers.
Frequently asked questions
Book a LedgerUp Demo
See how LedgerUp connects your CRM, billing, and ERP systems to eliminate manual work and accelerate revenue.
Get Started with LedgerUp