Business, property and inspection documents
Certificates, appraisals, inspection reports and the operational paperwork that runs a company.
The documents in this cluster look easy and are not. A certificate of origin is one page with fifteen boxes; a rate confirmation is one page with a number on it; an inspection report is a list of findings. What makes each of them hard is never the layout. It is that the fields carry meaning defined somewhere outside the page — a check digit that either computes or does not, a standard designation whose year suffix changes what was certified, a numbered list whose Part I and Part II mean opposite things, a severity word whose definition is printed on page three of the same report.
So these pages are about the specific thing each document type will do to you, and about the arithmetic or the cross-reference that catches it. The general machinery — schema design, confidence, review queues, the reading-order problems of a scanned page — lives in its own cluster and is linked rather than repeated here.
Extracting an ISBN From a Copyright Page and Validating It
Why a copyright page usually carries several ISBNs, and how the mod-10 check digit lets you reject a misread one without a lookup.
9 min read
Extracting Signatories and Signing Dates From a Signed PDF Contract
What the PDF signature dictionary actually tells you about who signed and when, and why the platform's certificate page beats the visible signature block.
10 min read
Extracting Witness and Notary Information From a Notarised Document
How the notarial certificate is structured, why an acknowledgement and a jurat are not interchangeable, and the date check the commission expiry gives you.
10 min read
Extracting Line Items From a Freight Rate Confirmation
Why the accessorial section of a rate con is a set of conditional rules rather than charges, and how to model it so the later invoice can be checked against it.
10 min read
Extracting Serial Numbers and Warranty Dates From a Product Certificate
Why a decoded barcode beats an OCRed serial number, when it does not, and how GS1 application identifiers tell you which is which.
10 min read
Extracting Fields From a Certificate of Origin
The exporter, HS code and origin fields a broker needs, and why the certificate is only worth extracting alongside the commercial invoice it must agree with.
10 min read
Extracting Fields From a Certificate of Conformance
Why the revision suffix on a cited standard is the load-bearing field, and how lot, heat and serial ranges decide what the certificate actually covers.
10 min read
Extracting Loan Terms From a Promissory Note
The amortisation arithmetic that tells you whether a note's stated payment matches its stated rate and term, and what a mismatch usually means.
11 min read
Extracting Escrow Instructions From a Real Estate Closing Document
Why an escrow instruction detached from its triggering condition means the opposite of what the document says, and how to model the two together.
10 min read
Extracting Fields From a Title Insurance Commitment
Why Schedule B Part I and Part II are two numbered lists that mean opposite things, and what happens when an extractor concatenates them.
10 min read
Extracting Damage Descriptions From a Vehicle Inspection Report
How to link a mark on a vehicle diagram to the prose note that describes it, when the mark's only meaning is where it sits.
10 min read
Extracting Findings and Recommendations From a Home Inspection Report
Why the severity vocabulary is defined inside the report rather than by any standard, and why the list of what was not inspected matters as much as the defects.
11 min read
Extracting Comparable Sales From a Property Appraisal Report
How the sales comparison grid encodes signed adjustments, and the four arithmetic identities that tell you whether you read them correctly.
9 min read
Extracting a Structured Timeline From an Accident Report
Why an accident narrative yields a partial order rather than a list of timestamps, and how to build a timeline that admits what it does not know.
9 min read
Extracting Parties and Fault Determination From a Police Report
How to model an officer's coded finding, a narrative summary and a driver's own account as three different kinds of claim rather than one field.
9 min read
Extracting Reading Values From a Utility Meter Bill
The previous-and-current reading pair, the multiplier that sits between them and the billed usage, and the register rollover that makes a naive subtraction go negative.
9 min read
Extracting Rate Tiers From a Tiered Utility Bill
How tiered blocks, a baseline allowance and a per-day proration combine into an energy charge, and how to rebuild the printed total from the extracted parts.
10 min read
Extracting Expense Categories From a Corporate Expense Report
Why categorising expense lines is classification into an existing chart of accounts rather than extraction, and why one line item is often several categories.
9 min read
Extracting Mileage and Per Diem Entries From an Expense Report
The two expense lines that are computed rather than receipted, and the arithmetic that shows whether the claimed amount follows from the claimed inputs.
9 min read
Extracting Structured Fields From a Permit Application Form
Why the parcel number has no check digit and must be validated by lookup, and why applicant, owner and contractor have to stay three separate parties.
9 min read
Extracting Standards References From a Curriculum Document
Standards codes are relations rather than entities: extracting the code without the lesson span it modifies produces a list nobody can use.
9 min read
Extracting Grades and Comments From a Report Card
Why a grade must be stored with the scale that produced it, and how a mid-year scale change makes normalisation at extraction time irreversible.
9 min read
Extracting Structured Answers From a Filled-In Exam Answer Sheet
Why a bubble grid is a geometry problem against a known template rather than a reading problem, and how the positional-offset failure produces a plausible wrong score.
10 min read
Extracting Structured Data From a Warranty Registration Card
A handwritten purchase date drives a coverage end date, which makes an ambiguous day-month order a coverage error rather than a formatting nuisance.
9 min read
Extracting Terms From a Vendor Master Agreement
Why a master agreement's terms cannot be extracted into one flat record once a statement of work exists, and what a provenance-carrying schema looks like instead.
9 min read
Extracting Deliverables and Milestones From a Statement of Work
How to pair milestones with their payment triggers and acceptance criteria, and what it means when the milestone amounts do not foot to the stated contract value.
9 min read
Extracting Service Levels From a Service Level Agreement
Converting an extracted availability percentage into allowed downtime for a real period, and capturing the credit tiers and exclusions that decide what a breach is worth.
10 min read
Extracting Renewal Notice Windows From a Vendor Contract Portfolio
Deriving the last safe date to give notice of non-renewal, counted backwards from a term end that the contract itself only states indirectly.
9 min read
Extracting Party Roles From a Multi-Party Agreement
Resolving the defined-term aliases in an agreement's preamble so that every obligation attaches to a named entity in a named role, instead of a flat list of parties.
9 min read
Extracting Governing Board Resolutions From Corporate Minutes
Separating the operative RESOLVED clauses from recitals and discussion, and carrying the vote, the recusals and the draft status that decide whether a resolution is usable.
9 min read
Extracting Shareholder and Ownership Percentages From a Cap Table
Why ownership percentages only sum to 100% within a single denominator, and how to run the footing check across outstanding, fully diluted and as-converted views.
10 min read
Extracting Board Member Names and Terms From Corporate Bylaws
Turning staggered-term bylaw language, which states rotation rather than dates, into a calculated term-end date, and why holdover means that date is not a departure date.
9 min read
Extracting Structured Data From a Handwritten Inventory Count Sheet
Reading SKU and quantity pairs from a handwritten count sheet, and cross-checking each variance against the system of record to separate misreads from real discrepancies.
9 min read
Extracting Structured Fields From a Time Sheet
Reconstructing clock-in and clock-out pairs into worked hours, and detecting the missing punch that would otherwise understate a day without any error being raised.
9 min read
Extracting Overtime and Break Deductions From a Time Sheet
Classifying already-reconstructed hours into straight time, overtime and premium pay, and why the same time card yields different overtime under daily and weekly rules.
10 min read
Extracting Structured Fields From a Purchase Requisition Form
The fields that make a requisition different from a purchase order, and why approval status is a workflow state checked against a delegation of authority rather than a signature you can see.
9 min read
Extracting Fields From a Credit Memo and Matching It to Its Invoice
A working pipeline that reads a credit memo, normalises its referenced invoice number, and asserts the credit does not exceed the invoice's remaining balance.
10 min read
Other topics
- LLM fundamentals & architecture
- Tokens, tokenization & context windows
- Prompt engineering
- Reasoning models & test-time compute
- Multimodal AI: vision, audio, video
- RAG & retrieval
- Embeddings & vector search
- AI agents & tool use
- Structured output & function calling
- Fine-tuning & post-training
- Local inference errors, string by string
- Running local models day to day
- Testing code that calls an LLM
- Snapshot and property testing for model output
- Regression suites for prompts
- Eval gates in CI
- Flaky tests against a model
- Determinism and the cost of testing
- Contract and streaming tests
- Testing tool calls and retrieval
- Inference, serving & latency
- Rolling out a prompt change
- Testing AI systems in practice
- Forecasting a time series
- Machine learning on tabular data
- Geospatial data and models
- Understanding audio that is not speech
- Understanding video
- Core computer vision tasks
- Machine learning on graphs
- Point clouds and 3D
- Evaluation, benchmarks & LLM-as-judge
- Sensor and IoT data
- Logs and event streams
- Models over biological sequences
- Machine learning on molecules
- Embedding and searching code
- Extracting invoices and purchase orders
- Receipts, statements and tax forms
- Insurance policies and contracts
- Deeds, court filings and patents
- Extracting from medical records
- Observability & LLMOps
- CVs, certificates and identity documents
- Shipping, customs and technical documents
- Meetings, email, chat and filled-in forms
- Building an extraction pipeline
- Contract clauses and insurance claims
- Regulated and compliance documents
- Consumer, travel and closing documents
- Mapping one chat API onto another
- SDK and framework migrations
- Hallucination & failure modes
- Re-embedding and model deprecation
- Cutting over between providers
- Parity gaps, shims and legacy endpoints
- Moving between model versions
- Migrating vector stores and caches
- Mapping capabilities and parameters
- Migrating pipelines and agents
- Contracts, runbooks and rollback
- Auditing a codebase before a cutover
- Compliance and fine-tune migration
- LLM cost engineering
- Routing, cost tracking and multi-tenancy
- What a migration does to your prompts
- AI security & prompt injection
- Privacy, compliance & data residency
- AI governance, policy & society
- Building reliable AI applications
- AI hardware, GPUs & compute
- Open-weight models & local inference
- AI for developers & coding agents
- AI in industry: vertical playbooks
- AGI, superintelligence, alignment & the long future
- Machine learning foundations
- NLP fundamentals & classical tasks
- Data engineering for AI
- Synthetic data & dataset curation
- AI product design & UX
- Search, ranking & recommendation
- Enterprise adoption & change management
- AI careers, skills & teams
- Reading AI research
- AI in science & discovery
- Robotics & embodied AI
- AI economics, markets & business models
- AI myths, hype & media literacy
- Context engineering
- Shipping AI features: patterns & anti-patterns
- Build it: end-to-end AI tutorials
- Python for AI: hands-on recipes
- TypeScript, React and the web
- Frameworks and SDKs
- Errors and troubleshooting
- AI facts, numbers and statistics
- The history of AI
- The maths behind AI
- Architectures beyond the transformer
- Reinforcement learning
- Diffusion and generative media
- Speech, audio and voice engineering
- Benchmarks, one at a time
- AI search visibility
- Infrastructure and operations
- Databases and storage for AI
- Knowledge graphs and structured knowledge
- Classical ML in production
- Regulation, jurisdiction by jurisdiction
- Prompt recipes and pattern library
- AI for people who do not write code
- Writing, media and creative work
- Edge and on-device AI
- Interpretability and model internals
- Field notes
- OpenAI model behaviour
- Claude model behaviour
- Gemini model behaviour
- Llama model behaviour
- Mistral model behaviour
- Qwen model behaviour
- DeepSeek model behaviour
- Cohere model behaviour
- Grok model behaviour
- Small model behaviour
- Hybrid model architectures
- Token cost by language and script
- Transliteration, romanization and script handling
- Locale-correct output
- Multilingual generation quality
- Multilingual pipelines
- The EU AI Act, article by article
- AI under the GDPR and EU data law
- US AI regulation, state and sector
- International AI governance and standards
- AI litigation and enforcement
- Running AI workloads on AWS
- Running AI workloads on Google Cloud
- Running AI workloads on Azure
- AI at the edge: Workers, Vercel and Netlify
- Serving models on Kubernetes
- Operating AI infrastructure
- Quantization formats and what they cost
- llama.cpp, flag by flag
- Ollama and the desktop local-model runtimes
- Local models on Apple Silicon
- Hardware for local inference
- Running speech and embedding models locally
- Model files, adapters and conversion
- VRAM arithmetic for local models