Seller Profit Guard

How should prepaid Shopify subscription margin be calculated?

Last updated: 2026-08-09

Written and reviewed by Seller Profit Guard Editorial Team.

Divide the USD 240 prepaid charge and its one payment cost across six scheduled fulfillments. With USD 25 product, fulfillment, app, and reserve cost per shipment, the fixture displays USD 13.79 contribution, 34.48% margin, USD 82.74 scheduled contribution before CAC, and 3.63 CAC payback shipments.

prepaid obligation ledger from billing model and fulfillment evidence through contribution, CAC payback, decision, and restoration
Original prepaid obligation ledger diagram using invented values and no subscriber records.

Attest the prepaid obligation schedule

The USD 13.79 fixture records one advance charge, six exact scheduled fulfillments, payment-fee allocation, product and variant, scheduled status, inventory timing, shipping profile, cancellation policy, separate refund workflow, owner, reviewer, backup, restoration, and remaining obligations.

Do not treat advance cash as first-box contribution or initial inventory as proof of all future cycles.

Separate prepaid cancellation from refund

An unfulfilled prepaid order can have a different cancellation path from one with fulfilled scheduled items, and canceling the subscription app state can remain separate from refunding the order.

Record contract status, order status, fulfilled and scheduled quantities, refund event, policy version, operator, reviewer, and unresolved customer obligation without exposing a customer record.

Open the prepaid fixture

Divide the USD 240 prepaid charge and its one payment cost across six scheduled fulfillments. With USD 25 product, fulfillment, app, and reserve cost per shipment, the fixture displays USD 13.79 contribution, 34.48% margin, USD 82.74 scheduled contribution before CAC, and 3.63 CAC payback shipments. Keep collected prepaid cash, recognized shipment revenue, and remaining obligations on separate lines. Checkpoint 1 in the prepaid obligation ledger records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For open the prepaid fixture, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.

Confirm scheduled fulfillments

Divide the USD 240 prepaid charge and its one payment cost across six scheduled fulfillments. With USD 25 product, fulfillment, app, and reserve cost per shipment, the fixture displays USD 13.79 contribution, 34.48% margin, USD 82.74 scheduled contribution before CAC, and 3.63 CAC payback shipments. Keep collected prepaid cash, recognized shipment revenue, and remaining obligations on separate lines. Checkpoint 2 in the prepaid obligation ledger records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For confirm scheduled fulfillments, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.

Recognize revenue per shipment

Divide the USD 240 prepaid charge and its one payment cost across six scheduled fulfillments. With USD 25 product, fulfillment, app, and reserve cost per shipment, the fixture displays USD 13.79 contribution, 34.48% margin, USD 82.74 scheduled contribution before CAC, and 3.63 CAC payback shipments. Keep collected prepaid cash, recognized shipment revenue, and remaining obligations on separate lines. Checkpoint 3 in the prepaid obligation ledger records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For recognize revenue per shipment, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.

prepaid obligation ledger: recognize revenue per shipment
Original explanatory diagram for recognize revenue per shipment without customer or order data.

Allocate one payment charge

Divide the USD 240 prepaid charge and its one payment cost across six scheduled fulfillments. With USD 25 product, fulfillment, app, and reserve cost per shipment, the fixture displays USD 13.79 contribution, 34.48% margin, USD 82.74 scheduled contribution before CAC, and 3.63 CAC payback shipments. Keep collected prepaid cash, recognized shipment revenue, and remaining obligations on separate lines. Checkpoint 4 in the prepaid obligation ledger records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For allocate one payment charge, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.

Attach fulfillment cost

Divide the USD 240 prepaid charge and its one payment cost across six scheduled fulfillments. With USD 25 product, fulfillment, app, and reserve cost per shipment, the fixture displays USD 13.79 contribution, 34.48% margin, USD 82.74 scheduled contribution before CAC, and 3.63 CAC payback shipments. Keep collected prepaid cash, recognized shipment revenue, and remaining obligations on separate lines. Checkpoint 5 in the prepaid obligation ledger records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For attach fulfillment cost, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.

Reserve prepaid refund exposure

Divide the USD 240 prepaid charge and its one payment cost across six scheduled fulfillments. With USD 25 product, fulfillment, app, and reserve cost per shipment, the fixture displays USD 13.79 contribution, 34.48% margin, USD 82.74 scheduled contribution before CAC, and 3.63 CAC payback shipments. Keep collected prepaid cash, recognized shipment revenue, and remaining obligations on separate lines. Checkpoint 6 in the prepaid obligation ledger records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For reserve prepaid refund exposure, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.

Calculate scheduled contribution

Divide the USD 240 prepaid charge and its one payment cost across six scheduled fulfillments. With USD 25 product, fulfillment, app, and reserve cost per shipment, the fixture displays USD 13.79 contribution, 34.48% margin, USD 82.74 scheduled contribution before CAC, and 3.63 CAC payback shipments. Keep collected prepaid cash, recognized shipment revenue, and remaining obligations on separate lines. Checkpoint 7 in the prepaid obligation ledger records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For calculate scheduled contribution, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.

Measure prepaid CAC payback

Divide the USD 240 prepaid charge and its one payment cost across six scheduled fulfillments. With USD 25 product, fulfillment, app, and reserve cost per shipment, the fixture displays USD 13.79 contribution, 34.48% margin, USD 82.74 scheduled contribution before CAC, and 3.63 CAC payback shipments. Keep collected prepaid cash, recognized shipment revenue, and remaining obligations on separate lines. Checkpoint 8 in the prepaid obligation ledger records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For measure prepaid cac payback, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.

Track unfulfilled obligation

Divide the USD 240 prepaid charge and its one payment cost across six scheduled fulfillments. With USD 25 product, fulfillment, app, and reserve cost per shipment, the fixture displays USD 13.79 contribution, 34.48% margin, USD 82.74 scheduled contribution before CAC, and 3.63 CAC payback shipments. Keep collected prepaid cash, recognized shipment revenue, and remaining obligations on separate lines. Checkpoint 9 in the prepaid obligation ledger records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For track unfulfilled obligation, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.

Close the prepaid decision

Divide the USD 240 prepaid charge and its one payment cost across six scheduled fulfillments. With USD 25 product, fulfillment, app, and reserve cost per shipment, the fixture displays USD 13.79 contribution, 34.48% margin, USD 82.74 scheduled contribution before CAC, and 3.63 CAC payback shipments. Keep collected prepaid cash, recognized shipment revenue, and remaining obligations on separate lines. Checkpoint 10 in the prepaid obligation ledger records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For close the prepaid decision, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.

Open the prepaid fixture: verification test 1

Create a synthetic counterexample for open the prepaid fixture. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.

Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.

Confirm scheduled fulfillments: verification test 2

Create a synthetic counterexample for confirm scheduled fulfillments. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.

Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.

Recognize revenue per shipment: verification test 3

Create a synthetic counterexample for recognize revenue per shipment. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.

Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.

prepaid obligation ledger: recognize revenue per shipment: verification test 3
Original explanatory diagram for recognize revenue per shipment: verification test 3 without customer or order data.

Allocate one payment charge: verification test 4

Create a synthetic counterexample for allocate one payment charge. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.

Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.

Attach fulfillment cost: verification test 5

Create a synthetic counterexample for attach fulfillment cost. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.

Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.

Reserve prepaid refund exposure: verification test 6

Create a synthetic counterexample for reserve prepaid refund exposure. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.

Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.

Calculate scheduled contribution: verification test 7

Create a synthetic counterexample for calculate scheduled contribution. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.

Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.

Measure prepaid CAC payback: verification test 8

Create a synthetic counterexample for measure prepaid cac payback. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.

Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.

Track unfulfilled obligation: verification test 9

Create a synthetic counterexample for track unfulfilled obligation. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.

Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.

Close the prepaid decision: verification test 10

Create a synthetic counterexample for close the prepaid decision. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.

Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.

Prepaid Shopify Subscription Margin by Fulfillment: evidence exercise 1

Reperform open the prepaid fixture using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.

Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.

Prepaid Shopify Subscription Margin by Fulfillment: evidence exercise 2

Reperform confirm scheduled fulfillments using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.

Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.

Prepaid Shopify Subscription Margin by Fulfillment: evidence exercise 3

Reperform recognize revenue per shipment using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.

Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.

prepaid obligation ledger: prepaid shopify subscription margin by fulfillment: evidence exercise 3
Original explanatory diagram for prepaid shopify subscription margin by fulfillment: evidence exercise 3 without customer or order data.

Prepaid Shopify Subscription Margin by Fulfillment: evidence exercise 4

Reperform allocate one payment charge using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.

Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.

Prepaid Shopify Subscription Margin by Fulfillment: evidence exercise 5

Reperform attach fulfillment cost using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.

Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.

Prepaid Shopify Subscription Margin by Fulfillment: evidence exercise 6

Reperform reserve prepaid refund exposure using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.

Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.

Prepaid Shopify Subscription Margin by Fulfillment: evidence exercise 7

Reperform calculate scheduled contribution using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.

Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.

Prepaid Shopify Subscription Margin by Fulfillment: evidence exercise 8

Reperform measure prepaid cac payback using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.

Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.

Prepaid Shopify Subscription Margin by Fulfillment: evidence exercise 9

Reperform track unfulfilled obligation using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.

Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.

Prepaid Shopify Subscription Margin by Fulfillment: evidence exercise 10

Reperform close the prepaid decision using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.

Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.

Sources and further reading

Related Seller Profit Guard tools

Next step: Open Seller Profit Guard.

This is operational planning help, not tax, accounting, legal, financial, or platform-policy advice. Review the Terms and disclaimer, and verify current platform rules and fee assumptions before changing prices.