02 / REPORTS & CHAT

Paid AI reports: connect access, follow-up chat and credits

Treat access to a saved AI report and permission to generate a new reply as separate decisions. A completed report can remain readable under its purchase terms while new AI work checks an independent allowance. Carry the selected report version into each follow-up.

Give each rule its own source of truth

A report screen needs more than an “is premium” flag. Keep the delivered report, the access entitlement and the AI operation distinct. A useful report record identifies its owner, status and version. The entitlement answers whether that user can read it. The operation records a request ID and whether generation completed, failed or was cancelled.

For example, a customer buys a weekly nutrition report with two follow-ups. The stored report is a durable result. The two replies are an allowance for new model work. Spending both replies should not erase the report if the agreed purchase terms grant continued reading.

Define the behavior before drawing the paywall

EventReport accessReply allowance
Preview before purchasePreview onlyNo paid reply is started
Access is verifiedDelivered report opensUse the agreed allowance
Follow-up completesUnchangedConsume one credit once
Follow-up fails or stopsUnchangedApply the agreed release or charge rule
Last credit is usedKeep reading under the purchase termsPrevent new requests or offer replenishment
Purchase is refunded or expiresReconcile with the access policyReconcile with the allowance policy

The Table Note web demo uses a simple example policy: only a completed reply consumes one credit; a failed reply consumes none. A real provider may bill for interrupted generation, so decide who bears that cost before choosing this policy.

A follow-up needs explicit context

Send the selected report ID, version and relevant chapter through an authorized server-side lookup. Do not trust a client-supplied report ID without checking ownership. Include the user's question and only the context needed for that answer.

If a user edits a preference after receiving the report, label the difference between the original result and a new recommendation. An earlier paid result should not silently rewrite itself because today's preference changed.

Test three moments that a happy-path demo misses

  1. Duplicate retry: interrupt the network after generation finishes, then retry with the same operation ID. Check that the result and charge are not duplicated.
  2. Last-credit race: start two requests together. The server must resolve the allowance atomically, rather than trusting the displayed client balance.
  3. Return visit: close and reopen the app with no reply credits. Check that report access still follows its own terms.

With AppBento, A + B + C is the starting combination for this flow. The launch plan names the source code, purchase integration, backend responsibilities and checks actually included in your project.

Try the fictional report and follow-up demo. It demonstrates the interaction, not a live store transaction.

References and scope

The flow and acceptance criteria are AppBento design recommendations. These primary references cover platform boundaries; they are not endorsements or evidence of native acceptance for the web demo.

YOUR NEXT COMPLETE FLOW

Make these decisions part of your launch plan.

Tell us what already works and what your users will pay for. Modules, source code, integration, price and acceptance are agreed by email.

Get a launch plan ↗