FairRev Upsells and bundles for Shopify, billed only on revenue we can prove we generated.

How billing works

We charge on sales this app produced, we show you the orders behind every line, and you set a ceiling we will not cross.

The problem this page exists for

Most apps in this category bill on your total monthly store orders. Read the pricing pages and you will find the pattern: you are charged on whichever is higher, your store's order count or the revenue the app says it made you. So a quiet month where the app did nothing still costs full price, and the count includes your point of sale takings, orders you imported, and orders placed before the app existed.

We are not going to tell you those are bad products. Several of them are good, and their reviews say so. The billing is the part we think is wrong, and it is the part we built differently.

What we charge on

Attributed revenue. Sales this app can show it produced, one order at a time, with the evidence kept. Never your store's order count. Never your store's revenue.

Three things make that a rule rather than a slogan.

One: the rule is published

The exact test an order has to pass is written out on its own page, condition by condition. The offer was shown, the shopper accepted it, the item is in the order that was paid for, the event chain links them, the order is a real online sale, refunds have been deducted in proportion.

We publish it because a billing metric nobody can check is not a billing metric, it is a number you are asked to trust. You can hold us to what is on that page.

Two: every charge explains itself

Each line on your bill names the orders behind it and says, in a sentence a person can read, why each one counted. You can click from a number to the orders that produced it.

You can also check us outside our dashboard entirely. Every order this app touched is tagged in your own Shopify admin, with the offer that did it. Filter on the tag and you have our working in the system you already trust. That is deliberate. A merchant should be able to verify our invoice without taking our word for anything.

Three: you set the ceiling

You approve a maximum we can charge in a billing period, and we do not cross it. The app refuses to create billable usage above your ceiling.

What happens when you reach it matters as much as the number. Nothing a shopper sees is switched off. Your offers keep running, your storefront is untouched, and your customers cannot tell that we are having a billing conversation. We lock features inside the app instead, such as creating new offers, until you decide to raise the cap.

And we never move you to a more expensive plan. Crossing a threshold raises a prompt for you to accept or ignore. It has never raised a charge by itself and it is not going to.

When a sale becomes billable

An attributed sale is not billed the moment the order appears. We wait until the money is safe, measured from when the order actually shipped, so that cancellations and returns land before your invoice rather than after it.

That is 30 days after fulfilment. For an order that is never fulfilled at all, a download or a service, it is 44 days after the order: the same 30, plus 14 days of waiting for a fulfilment that is not coming. You can raise the 30 on your shop if your market needs longer, and both dates move with it.

The date in your dashboard is the date that happens. We do not show you one date and bill on another.

If a customer refunds, the refunded share comes off the attributed revenue it was counted in. Not all of it for a partial refund, and not none of it. You are not charged for money you gave back.

What is never corrected quietly

Billing history is append only. When something is wrong we add a reversal that says so, and the original line stays where it is. Nobody edits a past invoice, including us. If you go looking for what changed, the record of the change is there to find.

The short version

You pay a percentage of sales we can prove we made you, the proof is public and checkable in your own admin, and you hold the switch on the maximum. The plans are here, including the least flattering column in the table.