ZeraBooks open data · zerabooks.com

Credit card statement proof: Discover, American Express, Capital One and Citi

A card statement is proven the other way round from a bank statement: the previous balance plus new charges (fees and interest included), minus payments and credits, must equal the new balance. This dataset gives that formula as Discover, American Express, Capital One and Citi print it, with four fictional statements that tie and the printed lines that aren't transactions. ZeraBooks runs this check on every card statement it converts.

Files: issuers.csv (4 rows: issuer, summary it prints, the proof, printed lines that aren't transactions, where the PDF is) and sample-statements.csv (four fictional card statements, with card member where printed).
License: CC BY 4.0. Cite: ZeraBooks, “Credit card statement proof”, https://zerabooks.github.io/data/card-statement-proof/
Updated: November 6, 2026. Discover facts read on Discover and Capital One pages on November 6, 2026; Amex layout read from statements in the ZeraBooks Converter test pool (structure only); Capital One sections from its own guide to reading a card statement. Card products differ, so treat each row as typical.

What does each issuer print, and how is it proven?

IssuerSummary it printsThe proofPrinted but not a transactionWhere the PDF is
DiscoverPrevious balance and each category for the cycle: payments and credits, purchases, balance transfers, cash advances, fees, interest chargesPrevious - payments and credits + purchases + balance transfers + cash advances + fees + interest = new balanceTypically a Cashback Bonus block (opening, earned, redeemed, closing) and an Interest Charge Calculation table; Cashback Bonus redeemed as a statement credit IS a rowPart of Capital One since May 18, 2025; accounts move to Capital One's website and app in 2026 and early 2027, and statements move with them
American ExpressPrevious Balance, Payments/Credits (printed with a minus), New Charges, New Cash Advances, Fees, Interest Charged, New BalancePrevious - Payments/Credits + New Charges + New Cash Advances + Fees + Interest = New Balance; each card member's rows add to that member's printed totalForeign Spend amounts and travel detail (Ticket Number, Date of Departure) under a charge; per-member totalsStatements & Activity at americanexpress.com; the billing period rarely starts on the 1st; employee cards print on the main statement
Capital OneCapital One's own guide names Payment information, Account summary, Rewards summary, Transactions, Year-end summary, Interest charge calculation, Account notifications, and says these are typicalPrevious balance + charges - payments and credits = new balanceRewards summary, Year-end summary (fees and interest so far this year), Interest charge calculationView statements on the account page; Spark business card statements live on a different page from bank statements
CitiNot documented in this dataset; we haven't read enough Citi card statements to stand behind a layoutPrevious balance + charges - payments and credits = new balanceOn a Citi relationship (banking) statement, the CREDIT CARDS block is a summary as of the last card statement, not card activityStore and co-branded cards issued by Citi, such as a Costco card, are Citi accounts with statements on Citi's site

Why is a card statement proven differently from a bank statement?

On a bank statement, deposits raise the balance and withdrawals lower it. On a card, the balance is what you owe, so charges raise it and payments lower it. ZeraBooks keeps the books view in the file: a charge is money out, so it is negative, and a payment is positive. Both views have to agree. In every sample below, the new balance comes out of the issuer's formula, and the file total equals the previous balance minus the new balance.

What do the sample statements look like?

Each sample is a fictional business. In the converted file, charges are negative and payments and credits positive, so the Amount column adds up to how much the balance went down. That is the second check on every sample. Rows are in sample-statements.csv.

Discover: Ridgeback Pottery, 08/27/2026 to 09/26/2026

Paid part of the last balance, so interest was charged. Payments 1,500.00, credits 36.25 (Cashback Bonus redeemed as a statement credit), purchases 1,499.12, interest 21.94. The proof: 2,413.08 − 1,500.00 − 36.25 + 1,499.12 + 21.94 = 2,397.89. The file adds to 15.19, which is 2,413.08 − 2,397.89. The Cashback Bonus earned this period moved no money and isn't in the file. Guide: Discover statement to Excel.

American Express: Silver Pine Photography, 08/12/26 to 09/11/26

Two card members. Ana Brooks: charges 1,064.40, less a 120.00 return, 944.40. Theo Grant: charges 1,370.96. New Charges 2,435.36. The proof: 3,105.62 − 3,105.62 − 120.00 + 2,435.36 = 2,315.36. The travel detail under the United charge and the foreign spend line under the Lisbon charge carry no dollar amount of their own. Guide: American Express statement to Excel.

Capital One: Copperline Electric LLC, October 2026

A 5,000.00 payment left part of the balance unpaid, so 46.71 interest was charged on top of 4,539.78 in charges. The proof: 5,602.33 − 5,000.00 + 4,539.78 + 46.71 = 5,188.82. The Year-end summary on the same statement lists fees and interest so far this year; it repeats amounts already counted and stays out of the file. Guide: Capital One statement to Excel.

Citi: Harlow Street Deli, September 2026

A co-branded Citi card, paid in full last month, with a 58.00 return this month. The proof: 980.45 − 980.45 − 58.00 + 2,055.85 = 1,997.85. If the deli also banks with Citi, the CREDIT CARDS block on its banking statement shows this card as a summary; convert this card statement, not that block. Guide: Citi bank statement to Excel.

ZeraBooks Convert showing a Capital One Spark card statement proven: previous balance plus charges and payments equals the new balance
ZeraBooks Convert, a card statement proven on its previous and new balance.

How does ZeraBooks prove a card with several card members?

When a card statement prints a total for each card member, ZeraBooks Convert assigns every charge to its card member and checks each member's rows against that printed total, as well as the statement as a whole. In the Amex sample, Ana Brooks has 1,064.40 in charges and a 120.00 return, so her rows net to 944.40, and Theo Grant's rows add to 1,370.96. The download can be split one file per card member. See credit card statement to Excel.

FAQ

What is the formula to check a credit card statement?

Previous balance, minus payments and credits, plus purchases, cash advances, balance transfers, fees and interest, equals the new balance. Discover and American Express print each of these on the account summary.

Is Cashback Bonus a transaction on a Discover statement?

Only when it is redeemed as a statement credit, which lowers what you owe and is listed with payments and credits. Cashback Bonus earned or carried over moved no money and is left out.

Do Amex foreign spend lines count as charges?

No. The foreign spend line under a charge shows the amount in the other currency. The dollar charge above it is the transaction.

Should I convert the credit card block on my Citi banking statement?

No. Citi says that block is summary information as of your last credit card statement. Convert the card statement itself.

Where are my Discover statements now?

Discover became part of Capital One on May 18, 2025. Capital One says card accounts move to its website and app in 2026 and early 2027. Once yours has moved, download statements from Capital One.

Can ZeraBooks convert and prove credit card statements?

Yes. ZeraBooks Convert reads Discover, Amex, Capital One and Citi card PDFs and proves each one on its previous and new balance, and each card member against a printed total, before you download Excel or CSV. Pricing is $79 a month billed annually or $149 monthly for 1,000 pages a month, with a 7-day trial.