Automated Invoice Processing System (MS365 + OCR + Airtable)

Job ID: 39591064

Budget: $250 – $750 USD

**Project description**

In general, this workflow should retrieve e-mail messages from a Microsft 365 shared mailbox, download the PDF attachment, put this trough a good OCR solution, e.g. Mistral. Retrieve specific data from the PDF to put these values in an Airtable. I have created a lovable webapp which then should be connected to this Airtable database.

**In detail**

My client wants a webapp, which i already have created in [lovable.dev](http://lovable.dev) for automating the process of invoice collection services.

The webapp will exist of the following items:
- Customers / Clients list
- Company name, address, history of invoices / e-mails, Approved credit amount, Whitelist of e-mailaddresses, insurance limit (most crucial one), above limit (percentage)

On the dashboad i have created 4 widgets

- Total invoices
- Approved
- In Progress
- Declined

Then i have a widget beneath it, which shows the latest / recent invoices of today

A client will send an e-mail to a specific e-mail address with an invoice. This invoice needs to be downloaded and checked on specific values. For an example:

- Company name
- Address
- Bankaccount number / IBAN
- Payments terms (how many days)
- Taxes (BTW)
- Prices / Total amount of the invoice
- Description of the product / article line
- KvK number

When the e-mail is send by the client, i need to create a automation in Microsoft 365 admin center to trigger a webhook, which will trigger N8N to lower the amount of executions.

When the trigger is activated, N8N will retrieve the e-mail, download the attachment, put it trough somekind of OCR, i though Mistral OCR would be a good option, retrieve the nessecary data and put this in an Airtable format.

The [Lovable.dev](http://Lovable.dev) webapp should be connected to the Airtable database to filter / show the relevant data in a more friendly way.

Additional checks to keep in mind:

- Add an human option to check / approve before flow continues
- Add status of approval ( onetime approval client only, No approval, which checks the insurance limits and if it is not available or added, this requires a manual action to add the insured amount. If the invoice amount exceeds the secure amount of credits, it should not be rejected, but it should be flagged als manual review.
- We need an option, field, checkbox to tell the system the invoice has been paid, so the credits are give free again
- We have 4 differents clients,
1) For every invoice send, the system will send a agreement mail
2) clients which do not receive an agreement mail
3) clients who only need a onetime agreement mail, after this, no agreement mail
4) clients who receive an custom agreement for every invoice,
- Whitelist of secured e-mail addresses from which the system may receive invoices, if e-mail is not listed it should be added to a manual approved action.
- When a client receives an e-mail which they should approve and did not respond in 24 hours, a new message needs to be send as a friendly reminder. These invoices should be visible benead in progress or pending status
- The limits above the insured limit should be visiable. How much money is outstanding above the insurance limit and may never be higher then the insurance limit + percentage which is noted at the customer field.