Open merchant resource

Merchant statement audits, with math you can verify.

Turn a dense merchant processing statement into a reconciled cost record with a processor-neutral method, open CSV template, JSON Schema, Decimal-safe validator, and synthetic rejection tests you can reproduce.

Free, reproducible release

The data, the rules, and the proof.

Package 1.1.7 preserves the schema 1.1.0 record contract and contains no real merchant or cardholder data. All example and test-vector content is synthetic data; the validator rejects unreconciled arithmetic, invalid dates, ambiguous zero-activity records, unsafe precision, unknown fields, likely sensitive data, and spreadsheet-formula payloads.

The audit workflow

One basis that keeps the math comparable.

01 · denominator

Match settled purchases

Use gross settled purchase volume and its matching purchase count for one USD period. Exclude refunds, chargebacks, declines, voids, reserves, and funding adjustments.

02 · numerator

Reconcile every fee

Assign each gross processing charge once, total the fee groups, report processing-fee credits separately, and subtract them to produce net processing fees.

03 · math

Compute, then round

Divide net fees by gross settled volume and round half up to six decimal places. Keep the decimal in data; multiply by 100 only for percentage display.

What the publisher verifies before release

The exact v1.1.7 merge worktree passed 95 automated tests and 71 subtests. Package mode passed 15/15 internal checks, the clean tagged candidate passed 16/16 readiness checks, and the published release passed 17/17 checks only after GitHub, Zenodo, DOI resolution, Hugging Face, Kaggle, and Software Heritage matched the reviewed release identity and bytes.

Before candidate Python can run, the gate checks the complete manifest, canonical paths, bounded sizes, UTF-8 and LF portability, SHA-256 coverage, credential signatures, release identity, clean committed tree, authoritative origin, complete remote tag inventory, exact tag alignment, and monotonic version. Public attestation is bounded and non-executing; it rejects unsafe redirects, oversized responses, archive traversal, case-fold aliases, symlinks, undeclared members, digest drift, and mismatched public identities. For Kaggle, it selects one unique latest public Ready version, verifies the exact version page, and compares every intact or platform-expanded byte even when the anonymous top-level pointer is stale. The released corpus accepts two valid synthetic records and rejects seventeen adversarial records for their expected rules.

Validation is not an accounting opinion or a malware sandbox. The model checks its declared arithmetic, data contract, package identity, and public release provenance. It cannot prove a source statement was transcribed correctly, decide whether a fee is contractually permitted, determine interchange qualification, prove arbitrary prose contains no confidential data, or guarantee savings. Keep the original statement private and have a human review every public record.

Classify fees before comparing quotes

A lower headline rate can hide higher per-item, monthly, compliance, or equipment charges. Group the full statement consistently before deciding what is actually expensive.

Fee groupWhat belongs hereWhat to inspect
InterchangeCard-type and transaction-specific wholesale costs.Downgrades, commercial-card qualification, keyed vs card-present mix.
AssessmentsNetwork assessments and access charges.Whether they are passed through clearly or bundled.
Processor markupPercentage markup and per-transaction markup.The contractual markup and any inconsistent application.
AuthorizationApproval, decline, AVS, gateway, and batch items.Per-attempt charges and duplicate fee labels.
Monthly / PCIAccount, statement, minimum, compliance, and noncompliance fees.Recurring charges that do not scale with volume.
Equipment / otherTerminal leases, software, chargebacks, and uncategorized adjustments.Long contracts, early termination, and vague labels.
Keep sensitive data out of the audit. Do not enter card numbers, security codes, PIN data, bank account or routing numbers, tax IDs, owner Social Security numbers, merchant identity, passwords, tokens, or authentication values. Automated screening reduces accidental disclosure; it cannot prove arbitrary prose is safe.

How to compare two offers honestly

  1. Normalize both offers to the same monthly volume, transaction count, average ticket, and card mix.
  2. Separate wholesale costs from provider markup instead of comparing one bundled percentage.
  3. Add every fixed and per-item fee, including gateway, authorization, PCI, equipment, and monthly minimums.
  4. Model card-present, keyed, e-commerce, and commercial-card volume separately when the business uses more than one channel.
  5. Compare the technology and operating workflow—not only rate. Reconciliation, refunds, tokenization, POS integration, and support all affect the real cost of accepting a payment.

For supporting math, use the effective-rate calculator. B2B sellers should also review commercial-card processing and Level 2/3 data.

Merchant statement audit questions

What is a merchant statement audit?

A merchant statement audit reviews one processing statement on a consistent basis, reconciles its fee groups and credits, and calculates the effective rate from net processing fees and gross settled purchase volume.

What numbers should a merchant statement audit compare?

Compare gross settled purchase volume, matching purchase count, gross processing fees, processing-fee credits, net processing fees, effective rate, average ticket, and each fee group for the same statement period.

Does an effective rate prove a processor is overcharging?

No. Effective rate normalizes included costs, but it does not prove provider margin, interchange qualification, contractual compliance, future pricing, or whether a source statement was mapped correctly.

Does this model promise savings?

No. The model validates its declared structure and arithmetic. It is not an accounting opinion, legal review, interchange-qualification determination, processing quote, or guarantee of savings.

From audit to a real deployment

Send the statement. Build the right payments stack.

Lifted can pair merchant processing with Lifted Pay, LiftedPOS and Lifted POS Connect, Lifted Gateway, a compatible integration, or custom payment software.