The document check library
Document control is not one operation but a family of distinct ones. This library lists the 83 checks that can be automated today, the rule each applies, the documents it examines and the outcomes it can produce.
What this library also states
Every check that warrants it states where it goes wrong. A document check only becomes reliable once its false positives are known and handled: without that, it produces noise teams end up ignoring.
Presence14
Identity document present
- Rule :
- The file contains at least one valid identity document among the accepted types.
- Documents :
- National identity card · Passport · Residence permit
- Outcomes :
- CompliantMissing
Proof of address present
- Rule :
- The file contains a proof of address among the accepted types.
- Documents :
- Proof of address
- Outcomes :
- CompliantMissing
Where this check gets it wrong
Someone housed by a third party has no bill in their name. The check must fall back to "needs review" and request a housing certificate, never reject outright.
Last three payslips present
- Rule :
- The file contains three payslips covering three consecutive months.
- Documents :
- Payslip
- Outcomes :
- CompliantMissingNeeds review
Where this check gets it wrong
A recently hired employee cannot supply three payslips. The rule must allow substitution by a contract and employer certificate, otherwise it mechanically excludes new labour-market entrants.
Tax notice present
- Rule :
- The file contains the latest available tax notice.
- Documents :
- Tax assessment notice
- Outcomes :
- CompliantMissing
Employment contract present
- Rule :
- The file contains a signed employment contract or job offer.
- Documents :
- Employment contract
- Outcomes :
- CompliantMissing
Substitution by employer certificate
- Rule :
- When three payslips cannot be supplied, an employer certificate together with the employment contract satisfies the proof-of-income requirement.
- Documents :
- Employer certificate · Employment contract · Payslip
- Outcomes :
- CompliantNeeds reviewMissing
Where this check gets it wrong
An employer certificate takes minutes to fabricate. Accepting the substitution without also requiring the contract, or cross-checking the employer against an independent source, opens the simplest fraud path in a tenancy file.
Bank details present
- Rule :
- The file contains legible bank details including the IBAN.
- Documents :
- Bank details / IBAN
- Outcomes :
- CompliantMissing
Company extract present
- Rule :
- The file contains a company extract less than three months old.
- Documents :
- Company registration extract
- Outcomes :
- CompliantMissingExpired
Compliance certificate present
- Rule :
- Any subcontractor above the statutory contract threshold provides a valid social-compliance certificate.
- Documents :
- Social security compliance certificate
- Outcomes :
- CompliantMissingExpired
Insurance certificate present
- Rule :
- The file contains an insurance certificate covering the relevant activity.
- Documents :
- Insurance certificate
- Outcomes :
- CompliantMissingNeeds review
Guarantor deed present
- Rule :
- If a guarantor is declared, the file contains the signed guarantee deed and its supporting documents.
- Documents :
- Guarantor deed
- Outcomes :
- CompliantMissingNeeds review
Purchase order present
- Rule :
- Every invoice above the defined threshold is linked to a purchase order.
- Documents :
- Purchase order
- Outcomes :
- CompliantMissing
Foreign employee register present
- Rule :
- The subcontractor provides the foreign-employee register, explicitly filled in even when empty.
- Documents :
- Foreign employee register
- Outcomes :
- CompliantMissingNeeds review
Where this check gets it wrong
An unsigned empty list is indistinguishable from a forgotten form. Requiring an explicit "none" statement rather than absence of rows removes the ambiguity.
Overall file completeness
- Rule :
- Every mandatory document of the applicable file template is present.
- Outcomes :
- CompliantMissing
Validity and expiry8
Identity document validity
- Rule :
- The identity document's expiry date is later than the check date.
- Documents :
- National identity card · Passport
- Outcomes :
- CompliantExpiredNeeds review
Where this check gets it wrong
French paper ID cards issued to adults between 2004 and 2013 carry a five-year extension the printed date does not reflect. A literal rule wrongly rejects them all — the most common false positive in French document control.
Residence permit validity
- Rule :
- The residence permit covers the check date and, if required, the contract's duration.
- Documents :
- Residence permit
- Outcomes :
- CompliantExpiredNeeds review
Where this check gets it wrong
A renewal-application receipt extends rights while the case is processed. Treating it as an expired permit blocks lawfully present employees.
Proof of address freshness
- Rule :
- The proof of address was issued less than three months ago.
- Documents :
- Proof of address
- Outcomes :
- CompliantExpired
Where this check gets it wrong
Many rules compare the billing period rather than the issue date. An electricity bill issued yesterday for last year's consumption is valid; the reverse is not.
Company extract freshness
- Rule :
- The company extract was issued less than three months ago.
- Documents :
- Company registration extract
- Outcomes :
- CompliantExpired
Compliance certificate validity
- Rule :
- The certificate is less than six months old at check date, and a new check is scheduled six months later.
- Documents :
- Social security compliance certificate
- Outcomes :
- CompliantExpired
Where this check gets it wrong
The mistake is not reading the date but forgetting the recurrence: the legal duty is a renewal every six months throughout the contract, not a one-off check at signature.
Insurance covers the period
- Rule :
- The certificate's validity period covers the entire planned execution period.
- Documents :
- Insurance certificate
- Outcomes :
- CompliantExpiredNeeds review
Payslip continuity
- Rule :
- The payslips supplied cover consecutive months without gaps, ending the month before submission.
- Documents :
- Payslip
- Outcomes :
- CompliantNeeds reviewMissing
Tax notice year
- Rule :
- The notice supplied matches the latest year available at check date.
- Documents :
- Tax assessment notice
- Outcomes :
- CompliantExpiredNeeds review
Where this check gets it wrong
Between January and September the "latest available notice" covers income from two years earlier. A rule fixed on N-1 all year rejects perfectly up-to-date files for eight months out of twelve.
Format and legibility7
Document legibility
- Rule :
- The document is sharp enough for extraction to reach the required confidence threshold.
- Outcomes :
- CompliantNeeds review
Where this check gets it wrong
A low confidence score does not mean the value is wrong, only that it is uncertain. Conflating the two rejects correct documents while letting confidently extracted errors through.
All pages present
- Rule :
- The page count matches the pagination the document itself states.
- Documents :
- Lease agreement · Employment contract · Tax assessment notice
- Outcomes :
- CompliantNeeds reviewMissing
Accepted file format
- Rule :
- The file is in a processable format: PDF, JPEG, PNG or TIFF.
- Outcomes :
- CompliantNon-compliant
Document not password-protected
- Rule :
- The PDF is not encrypted and its content is extractable.
- Outcomes :
- CompliantNeeds review
Where this check gets it wrong
Digital payslips are frequently protected by a password derived from the date of birth. The document is valid: collection must handle unlocking, rather than the check rejecting it.
Sufficient resolution
- Rule :
- Resolution allows reading fine areas: MRZ, numbers, legal wording.
- Documents :
- National identity card · Passport · Residence permit
- Outcomes :
- CompliantNeeds review
Orientation and deskew
- Rule :
- The document is deskewed and correctly oriented before extraction.
- Outcomes :
- CompliantNeeds review
Document classification
- Rule :
- The uploaded document matches the type expected at that slot in the file.
- Outcomes :
- CompliantNon-compliantNeeds review
Where this check gets it wrong
A single PDF sometimes concatenates several documents. Classifying the whole file from its first page misses everything after it.
Internal consistency10
Payslip year-to-date consistency
- Rule :
- A payslip's year-to-date taxable total equals the previous payslip's total plus the month's taxable net.
- Documents :
- Payslip
- Outcomes :
- CompliantNon-compliantNeeds review
Where this check gets it wrong
A contribution adjustment or back pay legitimately breaks the arithmetic progression. The check flags a genuine anomaly whose cause is often innocent: it must route to review, not rejection.
Gross-to-net consistency
- Rule :
- The ratio between gross pay and net pay stays within the range expected for the employee's status.
- Documents :
- Payslip
- Outcomes :
- CompliantNeeds review
Where this check gets it wrong
Ranges vary widely by status (executive, non-executive, apprentice, public sector) and benefits in kind. A single range produces more noise than signal.
Payslip period consistency
- Rule :
- The period stated on the payslip matches the announced month and does not overlap another payslip in the file.
- Documents :
- Payslip
- Outcomes :
- CompliantNon-compliant
Invoice totals consistency
- Rule :
- The sum of line items equals the net amount, and the gross total equals net plus VAT.
- Documents :
- Supplier invoice
- Outcomes :
- CompliantNon-compliantNeeds review
Where this check gets it wrong
Line-by-line rounding creates a legitimate gap of a few cents. An exact-match check produces a false positive on one multi-line invoice in three: tolerance must be explicit, not zero.
VAT consistency
- Rule :
- The VAT amount matches the stated rate applied to each line's net base.
- Documents :
- Supplier invoice
- Outcomes :
- CompliantNon-compliantNeeds review
Where this check gets it wrong
Reverse charge, reduced rates, exemptions and intra-EU operations invalidate any single-rate rule. The check must read the regime stated on the invoice before applying an expected rate.
Mandatory invoice fields
- Rule :
- The invoice carries every legally mandatory field: parties, number, date, description, price, VAT, payment terms.
- Documents :
- Supplier invoice
- Outcomes :
- CompliantNon-compliant
Rent and charges consistency
- Rule :
- Rent including charges equals rent excluding charges plus the stated charges.
- Documents :
- Lease agreement
- Outcomes :
- CompliantNon-compliant
Tax units consistency
- Rule :
- The stated number of tax units is consistent with the household composition on the notice.
- Documents :
- Tax assessment notice
- Outcomes :
- CompliantNeeds review
Contract date consistency
- Rule :
- The signature date precedes the effective date, and the stated duration matches start and end dates.
- Documents :
- Employment contract · Lease agreement
- Outcomes :
- CompliantNon-compliantNeeds review
Amount in words and figures
- Rule :
- The amount written in words matches the amount written in figures.
- Documents :
- Guarantor deed
- Outcomes :
- CompliantNon-compliant
Cross-document check14
Signatory identity vs ID document
- Rule :
- The name on the contract matches the identity document, after normalising married and usage names.
- Documents :
- National identity card · Employment contract · Lease agreement
- Compared fields :
- nom · prenom · date-naissance
- Outcomes :
- CompliantNon-compliantNeeds review
Where this check gets it wrong
Usage names, married names, particles and compound given names create legitimate differences. A strict character-by-character match fails on a significant share of files — the check that most needs fuzzy comparison.
Account holder vs ID document
- Rule :
- The bank account holder matches the person identified in the file.
- Documents :
- Bank details / IBAN · National identity card
- Compared fields :
- nom · prenom
- Outcomes :
- CompliantNon-compliantNeeds review
Where this check gets it wrong
A joint account has two holders and the statement sometimes shows only one. The absence of the sought name does not prove non-ownership.
Name on payslip vs tax notice
- Rule :
- The payslip's employee appears among the tax household's members.
- Documents :
- Payslip · Tax assessment notice
- Compared fields :
- nom · prenom
- Outcomes :
- CompliantNon-compliantNeeds review
Employer on payslip vs contract
- Rule :
- The employer and company ID on the payslip match those on the employment contract.
- Documents :
- Payslip · Employment contract
- Compared fields :
- employeur · siret
- Outcomes :
- CompliantNon-compliantNeeds review
Where this check gets it wrong
A site change, merger or business transfer legitimately changes the company ID without changing the job.
Declared vs received income
- Rule :
- The reference taxable income is consistent with income annualised from payslips, within a defined tolerance.
- Documents :
- Payslip · Tax assessment notice
- Compared fields :
- revenu-annuel · cumul-imposable
- Outcomes :
- CompliantNon-compliantNeeds review
Where this check gets it wrong
The notice covers an earlier year and the whole household. A job change, promotion, part-time becoming full-time or a second household income explain large gaps without any fraud.
Address on proof vs file
- Rule :
- The address on the proof of address matches the one declared in the file, after normalisation.
- Documents :
- Proof of address · National identity card · Tax assessment notice
- Compared fields :
- adresse
- Outcomes :
- CompliantNon-compliantNeeds review
Where this check gets it wrong
Street-type abbreviations, building and floor mentions, PO-box style codes: literal address comparison fails massively without prior normalisation.
Invoice IBAN vs recorded IBAN
- Rule :
- The IBAN on the invoice matches the one on record for the supplier; any change triggers enhanced validation.
- Documents :
- Supplier invoice · Bank details / IBAN
- Compared fields :
- iban
- Outcomes :
- CompliantNon-compliantNeeds review
Where this check gets it wrong
Legitimate IBAN changes exist (bank change, factoring). The check must not conclude fraud but force verification through an independent channel — precisely the attack that bank-detail fraud exploits.
Company ID on invoice vs extract
- Rule :
- The company ID and name on the invoice match the supplier's registration extract.
- Documents :
- Supplier invoice · Company registration extract
- Compared fields :
- siret · raison-sociale
- Outcomes :
- CompliantNon-compliantNeeds review
Invoiced vs ordered amount
- Rule :
- The invoiced amount matches the ordered amount, within the defined tolerance.
- Documents :
- Supplier invoice · Purchase order
- Compared fields :
- montant-ht · references-articles
- Outcomes :
- CompliantNon-compliantNeeds review
Where this check gets it wrong
Partial deliveries, amendments and shipping fees legitimately diverge the two documents. Without line-level matching, comparing totals alone produces permanent noise.
Delivered vs ordered quantities
- Rule :
- Delivery-note quantities match ordered quantities, including cumulative partial deliveries.
- Documents :
- Delivery note · Purchase order
- Compared fields :
- quantites · references-articles
- Outcomes :
- CompliantNon-compliantNeeds review
Signatory vs registered director
- Rule :
- The signatory of the commitment appears as director or authorised representative on the extract.
- Documents :
- Company registration extract · Employment contract
- Compared fields :
- dirigeant · signataire
- Outcomes :
- CompliantNon-compliantNeeds review
Where this check gets it wrong
A valid delegation of authority allows a signatory absent from the extract. The check must request the delegation, not invalidate the signature.
Guarantor identity
- Rule :
- The guarantor named in the deed matches the identity document supplied for the guarantor.
- Documents :
- Guarantor deed · National identity card
- Compared fields :
- nom · prenom
- Outcomes :
- CompliantNon-compliantNeeds review
Declared vs contracted employee
- Rule :
- The pre-hire declaration matches the contract's employee and start date.
- Documents :
- Pre-hire declaration · Employment contract
- Compared fields :
- nom · date-embauche · employeur
- Outcomes :
- CompliantNon-compliantNeeds review
Permits vs foreign employee register
- Rule :
- Every employee on the register holds a valid permit authorising work.
- Documents :
- Residence permit · Foreign employee register
- Compared fields :
- nom · numero-titre · validite
- Outcomes :
- CompliantNon-compliantMissing
Calculation rules9
Tenant affordability ratio
- Rule :
- The ratio of rent including charges to monthly net income stays below the defined threshold.
- Documents :
- Payslip · Lease agreement
- Outcomes :
- CompliantNon-compliantNeeds review
Where this check gets it wrong
The result depends entirely on which net figure is used. Taking net pay rather than taxable net, or a month containing a bonus, shifts the ratio by several points and flips files across the threshold.
Guarantor capacity
- Rule :
- The guarantor's income covers the rent by the required multiple, accounting for existing commitments.
- Documents :
- Guarantor deed · Payslip · Tax assessment notice
- Outcomes :
- CompliantNon-compliantNeeds review
Minimum income threshold
- Rule :
- Monthly net income reaches the minimum threshold defined for the file.
- Documents :
- Payslip · Tax assessment notice
- Outcomes :
- CompliantNon-compliant
Expected VAT for the regime
- Rule :
- The VAT amount matches the rate applicable to the declared regime and service type.
- Documents :
- Supplier invoice
- Outcomes :
- CompliantNon-compliantNeeds review
Vigilance threshold trigger
- Rule :
- As soon as the cumulative contract amount exceeds the statutory threshold, the vigilance duty activates and the six-monthly check is scheduled.
- Documents :
- Social security compliance certificate · Purchase order
- Outcomes :
- CompliantNeeds review
Where this check gets it wrong
The threshold applies to the cumulative contract, not a single order. Checking order by order lets splitting through, whether deliberate or not.
Minimum employment seniority
- Rule :
- Employment seniority reaches the required minimum, excluding probation if the rule demands it.
- Documents :
- Employment contract · Payslip
- Outcomes :
- CompliantNon-compliantNeeds review
Remaining contract duration
- Rule :
- The fixed-term contract's remaining duration covers the requested commitment period.
- Documents :
- Employment contract
- Outcomes :
- CompliantNon-compliantNeeds review
Order amount overrun
- Rule :
- Cumulative invoicing does not exceed the ordered amount plus the allowed tolerance.
- Documents :
- Supplier invoice · Purchase order
- Outcomes :
- CompliantNon-compliantNeeds review
Deposit cap
- Rule :
- The deposit does not exceed the statutory cap for the tenancy type.
- Documents :
- Lease agreement
- Outcomes :
- CompliantNon-compliant
Identity matching6
Fuzzy name matching
- Rule :
- Two names are treated as identical if their distance, after normalisation, stays below the defined threshold.
- Outcomes :
- CompliantNeeds reviewNon-compliant
Where this check gets it wrong
Too loose a threshold merges distinct namesakes; too strict a one rejects legitimate variants. It is an explicit trade-off between false positives and false negatives, and it must be documented rather than buried in code.
Usage name vs birth name
- Rule :
- Matching accepts equivalence between birth name and usage name when the identity document carries both.
- Documents :
- National identity card · Employment contract · Tax assessment notice
- Outcomes :
- CompliantNeeds review
Name transliteration
- Rule :
- Matching accounts for transliteration variants of non-Latin alphabets.
- Documents :
- Passport · Residence permit
- Outcomes :
- CompliantNeeds review
Date of birth match
- Rule :
- The date of birth is identical across every document carrying it.
- Documents :
- National identity card · Passport · Employment contract
- Compared fields :
- date-naissance
- Outcomes :
- CompliantNon-compliantNeeds review
Where this check gets it wrong
Day/month order differing across national conventions produces gaps that are not inconsistencies. 03/04 and 04/03 sometimes denote the same date.
Namesake detection
- Rule :
- A successful name match contradicted by date of birth or address is flagged as a likely namesake.
- Outcomes :
- CompliantNeeds review
Address normalisation
- Rule :
- Addresses are normalised (abbreviations, complements, postcode) before any comparison.
- Documents :
- Proof of address · Lease agreement · Tax assessment notice
- Outcomes :
- CompliantNeeds review
Authenticity and fraud8
MRZ check digit
- Rule :
- The machine-readable zone's check digits are arithmetically valid and agree with the printed fields.
- Documents :
- National identity card · Passport
- Outcomes :
- CompliantNon-compliantNeeds review
Where this check gets it wrong
A valid MRZ proves nothing: it can be recomputed. Its only value is negative — an invalid key signals tampering, a valid key signals nothing at all. Presenting this check as proof of authenticity is the industry's main error.
IBAN check key
- Rule :
- The IBAN satisfies its modulo-97 check key and the issuing country's structure.
- Documents :
- Bank details / IBAN · Supplier invoice
- Outcomes :
- CompliantNon-compliant
Where this check gets it wrong
The key validates syntax, never the account's existence or ownership. A fraudulent IBAN is perfectly well-formed: this check catches typos, not fraud.
Image tampering detection
- Rule :
- The document shows no tampering signs: compression discontinuities, noise inconsistencies, recomposed areas.
- Outcomes :
- CompliantNeeds review
Where this check gets it wrong
A phone photo, cropped then recompressed by a messaging app, accumulates the same artefacts as tampering. This check produces a great many false positives and must never decide alone.
Suspicious PDF metadata
- Rule :
- The PDF's producer, creation and modification dates and edit history are consistent with a document issued by its stated issuer.
- Outcomes :
- CompliantNeeds review
Where this check gets it wrong
Re-printing a PDF from a browser or annotating it rewrites metadata with no fraudulent intent. Absent metadata is no more of a signal: many systems strip them.
Typographic inconsistency
- Rule :
- Characters within a given zone share the font, size and alignment expected from the issuer's template.
- Documents :
- Payslip · Tax assessment notice · Supplier invoice
- Outcomes :
- CompliantNeeds review
Document reused across files
- Rule :
- The document's fingerprint does not already appear in another file linked to a different identity.
- Outcomes :
- CompliantNeeds review
Where this check gets it wrong
The same proof of address is legitimately shared by a couple or flatshare. Reuse is only a signal when the linked identities are unrelated.
Duplicate invoice number
- Rule :
- The issuer / invoice-number pair has not already been recorded and paid.
- Documents :
- Supplier invoice
- Outcomes :
- CompliantNeeds reviewNon-compliant
Where this check gets it wrong
A reissue after cancellation, a credit note or a reminder legitimately carry the same number. The check must raise a review, not block a payment.
Verification with the issuer
- Rule :
- The verification code on the document is checked against the issuing body's online service.
- Documents :
- Social security compliance certificate · Tax assessment notice · Company registration extract
- Outcomes :
- CompliantNon-compliantNeeds review
Where this check gets it wrong
This is the only authenticity check that actually proves something, because it queries the source. Every other one merely detects inconsistencies.
Regulatory compliance7
Work authorisation wording
- Rule :
- The permit carries wording authorising salaried employment.
- Documents :
- Residence permit
- Outcomes :
- CompliantNon-compliantNeeds review
Statutory wording compliance
- Rule :
- The document carries the wording made mandatory by the regulation applicable to its type.
- Documents :
- Supplier invoice · Lease agreement · Guarantor deed
- Outcomes :
- CompliantNon-compliant
Retention period
- Rule :
- Every document is deleted or anonymised when the retention period defined for its purpose expires.
- Outcomes :
- CompliantNon-compliant
Data minimisation
- Rule :
- Only the documents and fields necessary for the stated purpose are requested and retained.
- Outcomes :
- CompliantNon-compliantNeeds review
Where this check gets it wrong
Requesting an unauthorised document is not mere over-caution: in tenancy, the list of documents that may be required is exhaustively fixed, and asking for others is punishable.
Effective human oversight
- Rule :
- Any decision with a significant effect on a person remains subject to human review able to overturn it.
- Outcomes :
- CompliantNon-compliant
Where this check gets it wrong
Purely formal oversight — an operator approving in bulk with no real power to challenge — does not meet the requirement. What counts is the effective ability to overturn, not the presence of a button.
Decision traceability
- Rule :
- Every decision is linked to the rule that produced it, the extracted data and their location in the source document.
- Outcomes :
- CompliantNon-compliant
Retaining proof of the check
- Rule :
- Proof that a check was performed survives the deletion of the checked document.
- Outcomes :
- CompliantNon-compliant
Where this check gets it wrong
This is the core tension between data protection and auditability: deleting the document on schedule is mandatory, so is proving it was checked. The answer is retaining a fingerprint and the outcome, not the document itself.
Configure these checks without writing code
Describe your rules, Floweez applies them to every file.