<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>SaaS Billing on StackOnward</title><link>https://stackonward.com/tags/saas-billing/</link><description>Recent content in SaaS Billing on StackOnward</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Fri, 11 Sep 2026 05:00:00 +0800</lastBuildDate><atom:link href="https://stackonward.com/tags/saas-billing/index.xml" rel="self" type="application/rss+xml"/><item><title>Merchant of Record vs Payment Processor: Who Sells the Order</title><link>https://stackonward.com/posts/payment-processor-vs-merchant-of-record/</link><pubDate>Fri, 11 Sep 2026 05:00:00 +0800</pubDate><guid>https://stackonward.com/posts/payment-processor-vs-merchant-of-record/</guid><description>&lt;p&gt;A customer buys a pretax $100 SaaS annual subscription and pays $20 more in tax. Both setups can mark the order &lt;code&gt;paid&lt;/code&gt;. Direct payment processing still has your company selling to the customer and carrying tax, refunds, and delivery. A merchant of record (MoR) becomes the seller the buyer faces on in-scope orders, then pays you a supplier amount after tax, fees, and contract adjustments.&lt;/p&gt;
&lt;p&gt;That is the merchant of record vs payment processor difference that matters. A payment processor answers how authorization, capture, and settlement complete. An MoR also changes who sold the product to the buyer. Hosted versus embedded checkout, whose API you call, and which balance first held the funds cannot prove seller identity on their own.&lt;/p&gt;</description></item><item><title>How to Model SaaS Products, Plans, and Prices</title><link>https://stackonward.com/posts/product-plan-price-saas-catalog-modeling/</link><pubDate>Fri, 11 Sep 2026 04:18:00 +0800</pubDate><guid>https://stackonward.com/posts/product-plan-price-saas-catalog-modeling/</guid><description>&lt;p&gt;RouteNest is about to raise Pro monthly from $19 to $24. If the system stores one mutable row—&lt;code&gt;plan=pro, price=19, stripe_price_id=...&lt;/code&gt;—writing 24 over 19 removes the basis for existing subscriptions. Whether the $190 annual price moves, whether the euro price is recomputed, which amount &lt;code&gt;WELCOME20&lt;/code&gt; discounts, and which Paddle or Creem object to charge all become guesses.&lt;/p&gt;
&lt;p&gt;How to model SaaS products and prices depends on when each fact changes. Product says what is sold. Plan says which features and limits the buyer receives. Price says amount, currency, interval, and version. A promotion only changes a qualifying sale. A provider mapping only projects an internal Price onto a payment channel. Orders and subscriptions must store the snapshot from the sale; they cannot reread &amp;ldquo;the current price&amp;rdquo; to explain the past.&lt;/p&gt;</description></item></channel></rss>