Completed functional MVP · Pilot-ready
Apps and tools

Receipt Assistant

From scattered receipts to a structured document workflow

A Windows-based workspace that finds, gathers, reviews, registers and archives vouchers from Gmail, attachments and local or synced folders.

The solution is developed as a concept prototype and portfolio demonstration — not presented as a production-ready system.

What the project is

Receipt Assistant is a functional MVP developed for small businesses that need better oversight of receipts, invoices and other expense documentation. The solution gathers vouchers from multiple sources, identifies relevant documents and organises them through a controlled workflow. The user keeps decision authority when the system lacks information or is uncertain about how a voucher should be handled. Receipt Assistant is not an accounting system and does not perform bookkeeping on its own. It reduces manual preparation and prepares documentation for further review and accounting.

The challenge the project addresses

In smaller businesses, vouchers often exist in many places: Gmail and other email accounts, PDF attachments, photos of paper receipts, mobile folders, downloads and local folders, supplier portals and apps.

The documentation exists, but must be found, assessed, named and registered manually. That creates unnecessary time use and risk that vouchers are forgotten, processed more than once or linked to the wrong entity.

The starting point for the project was therefore a practical question: Can collection and structuring be automated without the user losing control?

From source to completed voucher

The workflow is built as a controlled chain where automation stops when the basis is too weak:

  1. 1. Collection

    The solution searches connected sources for documents that may be receipts or invoices.

  2. 2. Candidate assessment

    Possible vouchers are shown with supplier, date, subject, document type and calculated priority.

  3. 3. Document processing

    Relevant information is extracted from the document and compared with known suppliers, categories and previous registrations.

  4. 4. Human review

    Uncertain cases go to «Needs your help». The user can review and correct entity, supplier, date, amount, currency, document type and category.

  5. 5. Registration and archiving

    Approved vouchers receive a voucher ID and standardised file name. The document is registered in the voucher register and archived in the correct structure.

The system suggests and structures. The user approves uncertain decisions.

Workflow

The flow is designed with clear stops when the basis is too weak for automatic decisions.

Source → candidate → extraction → review → decision → registration → archiving

Human review

Receipt Assistant is built on a human-in-the-loop principle. This matters especially when a voucher may be private or business-related, the supplier is unknown, date, amount or document type is missing, one voucher may belong to multiple entities, or the document may be a copy of an earlier voucher.

Original emails and attachments are not changed or deleted as part of processing.

Examples of document types

The solution has been developed and tested with vouchers from among others mobile and internet providers, software and SaaS services, AI tools and digital subscriptions, public transport and other travel expenses, parking and taxi, office and IT-related purchases, and other business-related suppliers.

Supplier rules and categories should be extendable without building a new application for each business.

Security and responsible use

The solution is built on least-privilege access. Connection to Gmail happens through the user's approval, and access can be revoked.

Receipt Assistant does not store the user's Gmail password, does not delete original emails, does not change original attachments, does not perform bookkeeping outside the solution, and does not decide uncertain cases without human review. Technical details are kept in the log rather than opaque error messages in the user interface.

Technical foundation

Receipt Assistant is developed as a Python-based Windows application. The technical solution includes among other things Google OAuth 2.0, Gmail API, local and synced document processing, structured configuration of accounts and entities, SHA-256-based duplicate control, a voucher register in structured data format, standardised folder and archive logic, separate technical logging and local storage of authentication information with protection suited to the Windows environment. The solution is not presented as a full cloud platform or a fully integrated accounting system.

What has been built

A working Windows application has been developed with a core flow from Gmail and synced document sources to review, registration and archiving.

  • Connection to Gmail through Google OAuth
  • Search for likely receipts and invoices
  • Collection of PDF attachments and other voucher documentation
  • Candidate list with priority, supplier, account and document type
  • Review queue for cases the system cannot decide safely
  • Extraction of supplier, date, amount, currency and document type
  • Choice between private expense and relevant entity
  • Standard cost categories and batch handling per supplier
  • Duplicate control based on the document's digital fingerprint
  • Standardised file name, unique voucher ID, register and controlled archiving
  • Support for multiple entities in the same workspace
  • Technical log for troubleshooting and documentation

Core functional areas

The functions below are built in the MVP. Further integrations and channels are described under further development.

Collection from Gmail

Built

OAuth-based connection that finds relevant messages and fetches attachments without manually scanning the inbox.

Candidate list and prioritisation

Built

Possible vouchers are gathered in a filterable overview. Single vouchers or several relevant documents can be handled together.

Review queue

Built

Uncertain cases are gathered in «Needs your help», so the system does not make irreversible decisions on weak grounds.

Document extraction and classification

Built

Supplier, date, amount, currency, document type, category and entity are structured before registration.

Duplicate control

Built

The document's digital fingerprint is used to prevent the same attachment being registered more than once.

Register and voucher overview

Built

Approved documents receive a unique voucher ID and are gathered in a structured register with status and key information.

Entity management

Built

Choice between private and business-related documentation, plus administration of multiple entities.

Local and synced document flow

Built

Vouchers can be processed from local or synced folders, including documents transferred from mobile.

How the solution works in practice

The user connects a Gmail account or selects an available document source. Receipt Assistant searches for relevant documents and presents them as candidates.

  • Documents with sufficient information can proceed to review and processing.
  • If the solution lacks essential information, the case goes to the review queue.
  • After approval or correction, a decision is recorded with voucher ID, standardised file name, register entry and correct archive location.
  • A new search should not register the same document again.

Relevance

The project shows how an administrative task can be analysed as an end-to-end workflow rather than solved with isolated automations. The value lies in combining understanding of a real SMB need, integration with existing information sources, structured document flow, automation of repetitive work, clear control points, user experience and error handling, security and traceability, and room for further scaling.

The project documents practical product development at the intersection of workflow, digital transformation, automation, user needs and responsible use of technology.

Status and maturity

Completed functional MVP · Pilot-ready

The core flow from Gmail and synced document sources to review, registration and archiving is built. The solution has been tested in limited real-world use. It is not commercially launched or rolled out to external customers.

This is a completed portfolio and development project at MVP level, with a clear basis for further piloting and product development.

Further development and scalable application

Possible further development

  • Microsoft Outlook through Microsoft Graph and OAuth
  • Multiple email accounts per entity
  • Shared mobile inbox for iPhone and Android
  • More secure central administration of entities and users
  • Extended document parsing
  • More supplier and category rules
  • Export to Tripletex and other accounting systems
  • Alerts and scheduled voucher searches
  • Dashboard for missing and expected vouchers
  • Reporting by entity, period and cost category
  • Cloud-based solution with clear customer isolation

Relevant businesses

  • Sole proprietorships
  • Consultants and advisers
  • Clinics and other small service businesses
  • Small companies with multiple email and document sources
  • Businesses using external accountants
  • Companies that want better documentation before accounting

Adaptation must follow the organisation's systems, access needs and accounting process.

Marius Ottesen

Commercial leader, AI strategist and concept developer

Concept, product logic, user flow and solution are developed from a concrete administrative need in a small business. The project combines business understanding, workflow, digital transformation, product development and practical use of technology.

Explore the project further

Receipt Assistant is not currently available as a public demo or commercial product. Get in touch for professional dialogue on workflow, automation and practical AI in smaller businesses.