B2B Rebate Manager help

How the app works, in plain language. The same answers power the in-app assistant, so what you read here is what the product does.

What B2B Rebate Manager does

The app operates B2B customer rebate agreements: it reads your Shopify orders, works out what each covered buyer has earned under the terms you approved, and produces the statements you send. The lifecycle is: create an agreement, say who it covers, test it, activate it, then each period - calculate, check, close, send. It is read-only towards your store: no order, customer or product is ever changed, and no money moves.

The four calculation types

V1 supports exactly four: (1) Flat percentage - the same rate on all eligible spend, optionally with an entry threshold below which nothing is earned. (2) Fully retrospective tier - reaching a tier re-rates ALL spend at that tier's rate, so one extra pound at a boundary can change the whole figure. (3) Incremental tier - each band's rate applies only to the spend inside that band, like income tax. (4) Fixed achievement bonus - a fixed amount once spend reaches a target. There are deliberately no other formulas.

Periods, calculation and close

Each agreement's periods follow its cadence and your financial year setting. Calculating a period is free and repeatable - it locks nothing. Closing is the commitment: it fixes the figure, records who closed it and when, and statements are issued from closed periods. Reopening is possible but recorded with a reason - the trail is the point.

Why a calculation came out at zero

The usual causes, in order of likelihood: the agreement covers no buyers (check Who it covers), the covered buyer has no orders in the period, an entry threshold was not reached, or orders are in a different currency and were reported as exceptions instead of counted. The transaction view of a calculation shows every order line and why it was included or excluded - that is the authoritative answer.

How refunds are treated

By default a refund reduces the eligible spend in the period the refund lands in (reduce-basis). An agreement can instead ignore refunds, but that needs explicit terms with the buyer. Which policy an agreement uses is fixed when its version is approved - the test screen shows a worked refund example before you activate.

Order history coverage

The app has full order history access: the sync reads your complete Shopify order history, not just recent orders. If a period seems to be missing older spend, run a sync from the Order sync page and check the synced-up-to date there. The readiness scan also flags any gap between your order history and the start date of an agreement.

What 'immutable' means here

An approved version's terms are protected from ordinary application mutation and supported by access logging, backups and artifact hashes - not a claim of mathematically impossible alteration. Editing approved terms creates a NEW version effective from a date you choose; statements already issued under the old version keep saying what they said.

What exceptions are

An exception is something the calculation refused to guess about - most commonly an order in a different currency than the agreement. Exceptions are attached to the calculation, visible in the period view, and some block closing until resolved or explicitly waived with a reason. The app applies no exchange rates: a decision about a foreign-currency order is yours, recorded, not automatic.

The readiness scan

The Readiness page runs 14 checks across your connection, buyers, orders and agreements, each with its evidence. The headline is one of: Ready, Ready with decisions, Limited (figures constrained by what the data supports), or Blocked. Non-blocking limitations can be accepted - accepted findings stay visible but stop nagging. Blocking findings gate activation.

Activating an agreement

Activation goes through a review screen with eight conditions - connection healthy, readiness complete, buyers covered, a valid draft, a test calculation run, the test confirmation, and your own acknowledgements. All are required; the unmet ones link to the screen that fixes them. Activation fixes the terms permanently and calculation begins.

Statements and settlements

A closed period produces a statement you can download and send. Recording a settlement notes how and when you paid or credited the rebate - in this app's books. The app never moves money and never posts to your accounting system; an amount is never labelled 'posted' or 'booked' here.

Sample data mode

Explore with sample data (from the home screen when exploring, or /app/sample) creates one sample buyer, ten marked sample orders and an active three-tier sample agreement. It uses the same screens as real operation, cannot mix with real figures, and one click removes all of it.

Plans and limits

Plans differ by how many agreements you can operate. Limits gate creation only: a downgrade never deletes, hides or stops anything already working - you just cannot add the next agreement until you upgrade or archive. Calculation correctness, security response and data export never depend on plan.

What the app can see

The app reads orders and refunds, products and collections, customers, and B2B companies - each explained by outcome on the Permissions page. It writes nothing back to your store. On uninstall, syncing stops immediately; your agreements and statements are kept as your financial records and return on reinstall.

Business defaults

Settings holds the defaults new agreements start from: date basis, refund policy, tax/shipping/discount treatment, statement branding, your finance approver and notification preferences, plus your financial-year start. Changing a default never touches an existing agreement - approved terms are immutable and defaults are only read when a new draft is created.

Contact and support

Email support@etechflow.com with what you expected, what you saw, and the agreement reference. A human reads every message and replies within one business day. For a figure you believe is wrong, the transaction view of the calculation is the fastest starting point: it shows every order line and the reason it counted or did not.