Skip to content
Wanda

Wanda Monetize

Turn counted calls into a statement you can defend

The revenue engine: metering as it happens, rating against an effective-dated price book, and statements in Pula that reproduce exactly.

  • Metering in real time
  • Statements in Pula
  • Immutable once issued

Meter, rate, bill. One loop, one record.

01

Meter

Every call counted as it happens, with the decision and its reason recorded. A byte-identical retry is answered as a duplicate rather than counted twice, because identity is the producer's event id and its timestamp, assigned once and immutable across retries.

02

Rate

Counted calls become money against an effective-dated price book. Rating is a pure function over aggregates, so it can be re-run and reproduce the same figure. A price that changes on a date splits the line at that date rather than rewriting history.

03

Bill

A statement in Pula, tax applied per line at the rate in force, immutable once issued. Corrections are credit notes, so the number a customer saw is the number that stays.

Why the figure holds up

Billing software is judged the first time a customer disputes a number. These are the properties that decide that conversation.

Collection on local rails

Bank transfer, Orange Money, MyZaka and Smega, behind one settlement boundary that records every attempt and refuses a replay asserting a different figure.

Balances and prepaid drawdown

A consumer tops up and draws down against a balance, or runs postpaid against a statement. Both models, one price book.

Spend as it accrues

A transaction log per consumer and a provisional figure that moves as calls land, so the bill is visible while it forms.

Dunning you control

What happens when a statement goes unpaid, including whether and when a live key is suspended, set per tenant rather than assumed.

Money is never guessed

No money is written into usage events or rollups. Quantities are metered; the authoritative figure is computed once, against the price book in force, in integer micro-units rounded half-even once per line.

Test traffic never bills

Credentials carry their environment, so a test key cannot satisfy a live rule. In the seeded demo the statement rates the live quantities and excludes every test-mode event without being asked to.

Tax computed, not attached

Rates are exact rationals, effective-dated and tenant-scoped, with zero-rated and exempt legally distinguishable. A statutory rate change splits the line at the change date, and the tax on a row recomputes from that row's own columns.

Immutability with teeth

An issued statement cannot be edited, and the block is a database trigger rather than a rule in application code. A raw SQL update against one is rejected.

Quotas that hold across processes

Counters are shared, so two instances cannot each spend the full limit. The deployment refuses to run more than one enforcement replica without a shared counter store rather than silently multiplying a customer's quota.

Settled once, or not at all

Settling twice changes nothing, and a replay that asserts a different figure is refused rather than silently overwriting. Enforced in the service, in the store and in the database.

From counted call to collected payment

Wanda meters and rates. Collection rides adapters to the rails your customers already use, which keeps the money path inside the platform and the licensing where it belongs.

Settlement through adapters

A statement is delivered, then settled against a recorded payment. The adapter carries net, tax and gross, and settling the same statement twice changes nothing. Bank transfer first, with mobile money rails alongside it.

Never a payment processor

Wanda counts and rates; licensed rails move the money. That is a deliberate boundary, and it is why the module is called Wanda Monetize rather than anything with Pay in the name.

What happens to a call, in order

The money pathUsage is metered as it happens, deduplicated on the producer's own event id and timestamp, rated against an effective-dated price book, taxed per line at the rate in force, and issued as a statement that cannot be edited. A correction is a credit note. A settled statement is recorded against a payment.MeterCounted as it happensDeduplicateSame event id, same timeRateEffective-dated price bookTaxPer line, rate in forceStatementSealed once issuedA retry is answeredas a duplicate, notcounted twice.A correction is acredit note. Theoriginal never moves.Test-mode usage travels the same path and is excluded before rating, so it never reaches a statement.

Creating a plan

What your team does once per product, before a single partner is invited.

  1. 1
    Your team

    Name the resources

    Bind the paths and methods a plan covers, taken from the API document you published rather than typed twice.

  2. 2
    Your team

    Set the limits

    Rate limits and quotas per plan, with an override available per consumer when a deal needs one.

  3. 3
    Your team

    Price it, with a date

    Prices go into an effective-dated book. A change on a date applies from that date and splits the line rather than rewriting what came before.

  4. 4
    Your team

    Attach the tax treatment

    Pick the profile and classification. Zero-rated and exempt are distinguishable, which matters when the return is filed.

Bring one endpoint and a price.

We will meter it, rate it and show you the statement, including the tax line. If the number is wrong you will see why, because the rating is re-runnable.

Wanda by Kalabeta