All posts

Document fraud forensics

How to verify a bank statement on a rental application

Sum the payroll deposits per statement period rather than annualizing one deposit. Then check the things a forger gets wrong: the producer field, the bank name, and the balance math.

The ProofUp Team8 min read

A bank statement is a better income document than a pay stub, because it shows money that actually arrived rather than money a payroll system says was earned.

It is also harder to read correctly, and the errors go in both directions: you can undercount a real applicant and you can pass a forged statement that a pay stub check would have caught.

Sum the payroll deposits per period, do not annualize one

The most common arithmetic mistake.

Find the recurring deposits that look like payroll, sum them within each statement period, and read the pattern across periods. Do not take the largest deposit and multiply.

Two reasons. A single deposit can be a bonus, a tax refund, or a transfer from savings, none of which is income. And deposit frequency tells you about employment stability in a way a single number cannot.

What to actually read: are the deposits regular in timing, similar in amount, and from a consistent source? Irregular deposits are a signal worth reading rather than smoothing into an average, particularly for gig and self-employed applicants where irregular is normal and the question is the floor rather than the mean.

Non-payroll deposits are the judgment call

A statement shows everything, which is more information than you need and more than you are entitled to weigh.

Transfers between the applicant's own accounts are not income and counting them inflates the figure. A large one-off deposit is not income either.

Recurring non-wage income often is: Social Security, a pension, child support under an order, benefits. Whether you count those is a policy decision your written standard should answer, and for affordable properties it usually must.

Be careful about reading further than income. A statement reveals spending patterns, and screening on those is neither necessary nor defensible.

Four checks that catch a forged statement

Bank statements get altered more often than people expect, because they look authoritative.

The producer field. Every PDF names the software that made it. Real banking systems emit consistent values. Bank of America statements in our reference set, 602 files, showed producer "TargetStream StreamEDS for Bank of America" 86.9% of the time. A statement claiming to be from a major bank whose producer is a consumer image editor is not what it says.

The bank name itself. Spelling and geography. "Wells Fargo Bank, N.A." is right; small deviations are a giveaway, and so is a branch address in a state the applicant has no connection to.

Balance arithmetic. Opening balance, plus credits, minus debits, equals closing balance. Forgers who edit one deposit frequently forget to update the running balance and the closing figure. This check requires no tooling.

Statement age. A bank statement older than about 35 days is stale for income purposes. Also reject documents more than three months old generally, and watch for a year-end summary submitted where a current statement was required.

Non-US statements need a stated policy

A statement from a non-US institution is not fraud and it is not verifiable by the same means.

Our system rejects non-US bank statements automatically, which is a deliberate choice rather than a limitation we are hiding: the fingerprint corpus is US institutions, so a non-US statement cannot be checked against anything and passing it would be a guess dressed as a verification.

If you house international applicants, you need a documented alternative path rather than an exception somebody makes case by case.

The stronger move is to not read a statement at all

Everything above is the fallback path.

Connecting the applicant's bank account directly through Plaid means the balance and deposit history come from the institution rather than from a PDF the applicant controls. There is nothing to forge and nothing to reconcile.

Document analysis exists for applicants who cannot or will not link an account, which is a real and legitimate population: people without online banking, some cash-paid workers, applicants who are simply uncomfortable with it. Refusing to link is not a red flag and a process that treats it as one is both unfair and bad business.

What to do with an applicant who submits both

If you have a stub and a statement, compare them. The stub's net pay should appear as a deposit of roughly that amount on roughly that date.

When it does not, that discrepancy is more informative than either document alone. It is also the check that caught the case we cite most: a stub displaying $16 an hour on screen while the file data stored $27. The deposits told the truth.

Do your last ten approvals have a statement, a stub, or a bank connection behind them?

Keep reading

Document fraud forensics

How to spot a fake pay stub

A forged stub is built to fool your eyes, and it does. The signals that actually catch it live in the file data, not on the page. Here are the seven we check.

10 min read

Income math and qualification

How to calculate monthly income from a pay stub

Multiplying weekly pay by four undercounts by nearly 8%. Here are the correct multipliers for every pay frequency, and the three cases where the arithmetic does not apply.

8 min read
Schedule a Demo