Desk with receipts and an envelope, fully AI-generated, marked with the EU AI label
All solutions14 / Finance and receipts

Finance and receipts

Automatically file expenses from receipt photos

Every receipt photo from Microsoft Outlook, Gmail or the line-of-business mailbox is read, checked against travel policy and submitted as a reimbursement claim in the system of record. Only unreadable shots and amounts outside the agreed limits go to a person; everything else is ready for a decision the same day.

Process architecture

From a receipt photo to an auditable expense claim.

The chain connects the mailbox the company actually uses to policy and the ERP. Azure AI Document Intelligence reads the receipt. Only exceptions land as a card in Microsoft Teams or Google Chat. Posting happens only through the REST API of the system of record.

Process diagram

  • 11Nodes
  • 12Connections
  • 03Phases
Environment

01Input

Capture the receipt and the trip

Microsoft Graph API or the Gmail API takes the photo or PDF from the shared mailbox and adds the person, travel window and cost centre from the existing environment.

2 Steps

02Process

Read, check, approve if needed

The receipt is extracted and checked for readability and policy. Unclear shots go back to the sender; exceptions go to the person who may approve them.

6 Steps

03Output

Post the claim and file the record

The approved claim sits in the ERP, the sender receives the status, and the receipt plus the decision log sit in the company's storage on the case.

3 Steps

Source01

Capture the receipt

Microsoft Graph API or the Gmail API takes every new message in the shared mailbox, including the photo or PDF. Senders stay in Microsoft Outlook or Gmail; no second portal is introduced.Details

Process node 01Source

Capture the receipt

Microsoft Graph API or the Gmail API takes every new message in the shared mailbox, including the photo or PDF. Senders stay in Microsoft Outlook or Gmail; no second portal is introduced.

Interfaces
  • Microsoft Graph API
  • SharePoint API
Next steps
Data02

Load the trip context

Person, cost centre and open trip are matched from the directory, the calendar and the cost-centre list, so the receipt is never without an owner or a posting account.Details

Process node 02Data

Load the trip context

Person, cost centre and open trip are matched from the directory, the calendar and the cost-centre list, so the receipt is never without an owner or a posting account.

Interfaces
  • Azure AI Document Intelligence
  • Mistral OCR
  • Dataverse API
Next steps
Action03

Read the receipt

Azure AI Document Intelligence reads date, amount, tax and merchant. Gaps are flagged instead of inventing values; the cost type is assigned to the loaded trip.Details

Process node 03Action

Read the receipt

Azure AI Document Intelligence reads date, amount, tax and merchant. Gaps are flagged instead of inventing values; the cost type is assigned to the loaded trip.

Interfaces
  • Power Automate
  • Azure Functions
  • Microsoft Graph API
Next steps
Decision04

Check readability

Required fields and image quality decide whether the receipt continues. If the amount is missing or the photo is unusable, the case goes back to the sender.Details

Process node 04Decision

Check readability

Required fields and image quality decide whether the receipt continues. If the amount is missing or the photo is unusable, the case goes back to the sender.

Interfaces
  • Azure OpenAI GPT
  • Anthropic Claude
  • AI Builder
Next steps
Approval05

Request a new copy

A Microsoft Teams Adaptive Card or the Google Chat API asks for a sharper photo or the missing field. The case waits until the addition arrives in the same mailbox.Details

Process node 05Approval

Request a new copy

A Microsoft Teams Adaptive Card or the Google Chat API asks for a sharper photo or the missing field. The case waits until the addition arrives in the same mailbox.

Interfaces
  • Teams Adaptive Cards
  • Power Apps
Next steps
Decision06

Check the policy

Amount, receipt type and deadline are held against the stored travel policy. Inside the limits the claim continues; above them it needs an approval.Details

Process node 06Decision

Check the policy

Amount, receipt type and deadline are held against the stored travel policy. Inside the limits the claim continues; above them it needs an approval.

Interfaces
  • Azure OpenAI GPT
  • Anthropic Claude
  • AI Builder
Next steps
Approval07

Approve the exception

A manager or finance decides in Microsoft Teams or Google Chat using the receipt image, the rule reference and the suggested cost centre. The reason is stored with the case.Details

Process node 07Approval

Approve the exception

A manager or finance decides in Microsoft Teams or Google Chat using the receipt image, the rule reference and the suggested cost centre. The reason is stored with the case.

Interfaces
  • Teams Adaptive Cards
  • Power Apps
Next steps
System08

Create the claim

The REST API creates the reimbursement claim in the system of record and keeps it current. A replay key prevents a second posting of the same receipt.Details

Process node 08System

Create the claim

The REST API creates the reimbursement claim in the system of record and keeps it current. A replay key prevents a second posting of the same receipt.

Interfaces
  • Dynamics 365 API
  • Azure Service Bus
Next steps
Result09

Report the status

The sender receives the status in Microsoft Outlook, Gmail or chat: accepted, waiting for approval, or returned, each with the next step.Details

Process node 09Result

Report the status

The sender receives the status in Microsoft Outlook, Gmail or chat: accepted, waiting for approval, or returned, each with the next step.

Interfaces
  • Power BI API
  • Teams Webhook
Next steps
Result10

Inform finance

Finance sees the posted claim in the overview it already uses. Only backlogs and open approvals are reported in addition; no parallel list is created.Details

Process node 10Result

Inform finance

Finance sees the posted claim in the overview it already uses. Only backlogs and open approvals are reported in addition; no parallel list is created.

Interfaces
  • Power BI API
  • Teams Webhook
Result11

File the record

Receipt image, extracted fields, rule decision and approval sit in storage on the case. Who decided what, and on which basis, remains auditable.Details

Process node 11Result

File the record

Receipt image, extracted fields, rule decision and approval sit in storage on the case. Who decided what, and on which basis, remains auditable.

Interfaces
  • Power BI API
  • Teams Webhook
  • Standard path
  • Direct path
  • Review required
  • Return

Steps in execution order

System landscape

Mailbox and ERP stay where they are today.

  • Microsoft

    Microsoft Graph API

    Möglicher Baustein für die Microsoft-Systemvariante.

  • Microsoft

    SharePoint API

    Möglicher Baustein für die Microsoft-Systemvariante.

  • Microsoft

    Azure AI Document Intelligence

    Möglicher Baustein für die Microsoft-Systemvariante.

  • Microsoft

    Mistral OCR

    Möglicher Baustein für die Microsoft-Systemvariante.

  • Microsoft

    Dataverse API

    Möglicher Baustein für die Microsoft-Systemvariante.

  • Microsoft

    Power Automate

    Möglicher Baustein für die Microsoft-Systemvariante.

  • Microsoft

    Azure Functions

    Möglicher Baustein für die Microsoft-Systemvariante.

  • Microsoft

    Azure OpenAI GPT

    Möglicher Baustein für die Microsoft-Systemvariante.

  • Microsoft

    Anthropic Claude

    Möglicher Baustein für die Microsoft-Systemvariante.

  • Microsoft

    AI Builder

    Möglicher Baustein für die Microsoft-Systemvariante.

  • Microsoft

    Teams Adaptive Cards

    Möglicher Baustein für die Microsoft-Systemvariante.

  • Microsoft

    Power Apps

    Möglicher Baustein für die Microsoft-Systemvariante.

  • Microsoft

    Dynamics 365 API

    Möglicher Baustein für die Microsoft-Systemvariante.

  • Microsoft

    Azure Service Bus

    Möglicher Baustein für die Microsoft-Systemvariante.

  • Microsoft

    Power BI API

    Möglicher Baustein für die Microsoft-Systemvariante.

  • Microsoft

    Teams Webhook

    Möglicher Baustein für die Microsoft-Systemvariante.

  • Interfaces in use

    Gmail API

    In a Google Workspace environment, reads the incoming message including the photo or PDF and writes the status back.

  • Interfaces in use

    REST API

    Controlled handover of the reimbursement claim to the ERP of record, repeatable without a double posting.

  • Interfaces in use

    Microsoft Teams Adaptive Cards

    Collects a resubmission or an approval in Microsoft Teams, directly in the conversation of the person in charge.

  • Interfaces in use

    Google Chat API

    Collects a resubmission or an approval in Google Chat when the workplace is Google Workspace.

  • Possible apps & platforms

    Microsoft Outlook

    Shared mailbox as intake when the workplace is Microsoft 365, unchanged for the sender.

  • Possible apps & platforms

    Gmail

    Shared mailbox as intake when the workplace is Google Workspace, without a second form.

  • Possible apps & platforms

    Microsoft Teams

    Working surface for questions and approvals in a Microsoft 365 environment.

  • Possible apps & platforms

    Google Drive

    Storage for the receipt and the record in a Google Workspace environment, linked to the claim.

  • Possible apps & platforms

    Microsoft Dynamics 365 Business Central

    A possible system of record for the claim, the posting and the reimbursement.

  • Possible apps & platforms

    DATEV Unternehmen online

    Handover of the checked documents to the tax firm when finance already runs there.

Implementation in context

Receipts stop disappearing into private chats.

Nexaluna does not replace the mailbox or the ERP. In a Microsoft 365 environment intake stays Microsoft Outlook, in a Google Workspace environment it stays Gmail, and in a custom environment it stays the line-of-business mailbox or the file drop. Ownership of the claim and the payment stays with the system of record. What is added is the reading of the receipt and the policy check before anyone spends time on it.

What the policy can decide unambiguously is decided automatically: a readable receipt, a known person, an amount inside the limit, no duplicate. Everything else goes as a draft to the sender or to approval. The automation does not decide goodwill.

Receipt images and personal data stay in the company's environment. Only the text needed for matching and checking reaches a model. Every decision records who made it and on which rule. The ERP connection uses the REST API with a key that prevents a double posting.

If the mailbox subscription expires, a catch-up run recovers missed messages so no receipt is lost. Policy changes are maintained in the existing list, not in program code. Which chain applies — Microsoft Graph API, Gmail API or the custom path — is set during setup, not chosen again for every receipt.

Starting point

Travel receipts arrive as photos in private chats, as PDFs in personal inboxes or as a pile on finance's desk. Who owns the case is decided while reading and is never written down. Duplicates surface only when the same meal is reimbursed twice. Policy exists as a document, not as a check at the moment of filing.

Target picture

Every receipt has an owner, a cost centre and a visible status. Inside policy the claim is created without retyping. Exceptions sit with the person who may decide, together with the image and the rule that was applied.

Expected benefits

  • Every receipt has an owner and a visible status on the day it arrives.
  • Inside policy, amount, date and merchant no longer need to be retyped.
  • Exceptions reach the person who may decide, with the image and the rule reference.
  • The same meal or the same fuel receipt is not reimbursed twice.
  • Receipt, decision and approval sit on the case and can be audited.
  • Staff keep the mailbox they already use instead of filling another portal.

Prerequisites to start

  • 01A shared mailbox or a clear file drop for travel receipts, with administrator consent in Microsoft Entra ID or the Google domain.
  • 02A maintained travel policy with testable limits per receipt type, not only running text.
  • 03A documented REST API on the system of record that can create reimbursement claims, including a test environment.
  • 04A named person in each department for approvals outside the policy.
  • 05Clean cost centres and a mapping of travelling staff to those accounts.
  • 06A decision on the region in which receipt text may be processed.

Your next step

Which process costs your team unnecessary time every day?

Give us a short outline. We will tell you honestly where automation is useful—and where it is not.

DiscoverBack to top