docs(cards): add periodic statements guide - #1071
Conversation
Add a reference page for card periodic statements under Cards > Statements. It shows a sample consumer statement, when a statement is sent, what it contains, how each field maps to Grid transaction data, and an example that builds a statement at period close. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
|
The latest updates on your projects. Learn more about Vercel for GitHub. 3 Skipped Deployments
|
|
Only settled card rows and completed payments become statement lines. Outgoing fees are shown as a separate line inside sentAmount instead of being added on top. Amounts stay integers until render, query values are URL-encoded, and the example checks that opening balance plus lines equals closing balance. Co-authored-by: Cursor <cursoragent@cursor.com>
|
@codex review |
|
@faraday review |
|
⚡ Running fastpass on this PR first (https://zeus.dev.dev.sparkinfra.net/#/instance?id=quantum-iridium-bt). A full council convenes only if fastpass assesses the risk at critical or above. Post a new comment '@faraday full review' to convene one anyway. |
|
📌 Bolt Status 2026-09-23 23:31:23 UTC — ⚡ Agent |
Faraday reviewfastpass advisory - comment-only, never blocks a merge. To retire a finding, either fix it or reply explaining why it is wrong: a rebuttal gets an agree or disagree answer on the thread, and if you reply again after a disagreement we concede. Acknowledging it ("will fix") or resolving the thread does not retire it on its own. This comment is edited in place every round; inline findings still post as new comments each round. ⚠ Partial review: quote_verify did not run (quote_verify: all_unchecked); findings below were not quote-checked against the reviewed commit. Faraday score: 5/5 (converged - nothing blocking open) - 5 nothing blocking open | 4 non-blocking only | 3 one blocking open | 2 two | 1 a P0 or 3+ blocking; never drops without a new blocker Still open:
fastpass re-review: 2 new non-blocking finding(s) outside the round delta held back (delta-scoped); 1 previously dismissed by author. Converged - nothing new that blocks. 🦕 The Brachylophosaurus from this catch is already in @jaymantri's collection (x4): https://zeus.dev.dev.sparkinfra.net/#/dinodex/jaymantri Round history (5 rounds)
This summary supersedes the per-round summary blocks on the faraday reviews above; those are left in place as history and are not edited. |
Page through the customer's internal accounts instead of reading the first USD page, and throw when the account is not found. Card rows become lines only when status is SETTLED or PARTIALLY_SETTLED, so EXCEPTION rows stay off the statement until reconciled. The statement object now carries the error-resolution notice with the other fixed disclosures. Co-authored-by: Cursor <cursoragent@cursor.com>
|
@codex review |
|
@faraday review |
|
⚡ Running fastpass on this PR first (https://zeus.dev.dev.sparkinfra.net/#/instance?id=quantum-iridium-bt-2). A full council convenes only if fastpass assesses the risk at critical or above. Post a new comment '@faraday full review' to convene one anyway. |
|
@bolt can you run this against the Grid sandbox and reply with the results? Read-only: do not change files on this PR. The statements guide on this PR infers three API behaviors that I want measured. Use a sandbox-scoped token against Setup:
Please paste the trimmed request/response pairs and a three-line answer table: which timestamp the date window filters on, whether |
|
@jaymantri I can't start the sandbox run yet because my environment has no Grid API credentials. To unblock it, I need a sandbox-scoped API token pair, Once I have it, I'll run all three measurements as specified without touching any files on this PR. The three measurements are the date-window diff, the card-row filter diff before and after clearing, and Reply with a comment if you'd rather run it yourself and have me provide a script instead. Emoji reactions don't notify me on GitHub. |
|
No credentials will be shared for this run; the repo is public and the PR is docs only. Please post the script instead, so the measurements can be run by hand against a sandbox platform. Measured results, if any, will update the page text directly. |
|
@faraday review |
|
⚡ Running fastpass on this PR first (https://zeus.dev.dev.sparkinfra.net/#/instance?id=quantum-iridium-bt-6). A full council convenes only if fastpass assesses the risk at critical or above. Post a new comment '@faraday full review' to convene one anyway. |
Point to the platform agreement for cadence, delivery, records, and disclosure text. Scope the provider lines to every statement, keep the error-resolution markers on the consumer sample, and note that card rows are dated by authorization. Co-authored-by: Cursor <cursoragent@cursor.com>
|
@faraday review |
|
⚡ Running fastpass on this PR first (https://zeus.dev.dev.sparkinfra.net/#/instance?id=quantum-iridium-bt-7). A full council convenes only if fastpass assesses the risk at critical or above. Post a new comment '@faraday full review' to convene one anyway. |
Restore the provider line wording, keep contact details inside the error-resolution notice, and stop the flag markers from rendering above the baseline. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
|
@faraday review |
|
⚡ Running fastpass on this PR first (https://zeus.dev.dev.sparkinfra.net/#/instance?id=quantum-iridium-bt-8). A full council convenes only if fastpass assesses the risk at critical or above. Post a new comment '@faraday full review' to convene one anyway. |
|
⚡ Review ledger Round 1
Round 2
|
|
🦣 Congratulations @pengying - your substantive review earned a Eremotherium! (uncommon)
View your Frost-dex: https://zeus.dev.dev.sparkinfra.net/#/dinodex/pengying?section=ice-age |
Statements apply to every account, consumer or commercial. Describe the base layout for all accounts and call out the consumer-only items where they apply. Add the commercial contact line and plain wording for the two parts of a statement. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Merge activity
|
What
Adds a reference page for card periodic statements under Cards > Statements. It follows the Receipts page structure: a sample consumer statement, when a statement is sent, what it contains, how each field maps to Grid transaction data, and an example that builds a statement at period close. The page appears in both Cards > Statements and Payouts & B2B > Sending payments (after List transactions); the guide body lives in one shared snippet with a thin wrapper page for each location, like Receipts. Docs only: one snippet, two wrapper MDX files, and two
docs.jsonnav entries.Preview
https://ramps-ajay-statements-guide.mintlify.app/cards/statements
https://ramps-ajay-statements-guide.mintlify.app/payouts-and-b2b/payment-flow/statements
Screenshot
The page renders the sample statement (period details, opening and closing balance, a six-line ledger with a wire fee line, total fees, the error-resolution notice, and the provider line), then the field tables, the Grid mapping table, and the JavaScript example. Run
mint devon this branch and open/cards/statementsto see it.Review asks
<Info>frames statements as a reference, not as an instruction to the reader. Check that this reads right.Relation
Companion to #1060 (playground), which is parked as a draft.