Send the uploaded document image or PDF to Google Cloud Document AI using the specialized form parser or a custom processor trained on utility bills
Extract the entity fields with type address, name, and date_issued from the Document AI response
Normalize the extracted address using a standardisation API (e.g., Google Maps Address Validation) to resolve abbreviations and postal codes
Compare the normalised extracted address against the user's declared address using field-level fuzzy matching
Flag the proof-of-address as valid only if the document date is within the required recency window (typically 3 months) and the name matches the verified identity
Known gotchas
PDF utility bills with embedded text layers should be parsed as text, not OCR, for higher accuracy; the Document AI processor handles both but the extraction path differs
Address mismatch tolerance must account for legitimate variations (e.g., flat vs apartment, abbreviated street types) without accepting fraudulent documents
Digital utility bills downloaded from a portal are increasingly common; consider that they can be easily edited — require EXIF or metadata checks where feasible
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp