# Integrations: NetSuite, QuickBooks, Microsoft 365 | InvoiceIQ by Analytos

> The ERPs, mailboxes, lookup sources and models InvoiceIQ by Analytos connects to, with the honest status of each: NetSuite live, Stockly supported…

Canonical URL: https://invoiceiq.analytos.ai/integrations

Integrations

# Integrations  
for your finance stack

NetSuite in production, Stockly supported, QuickBooks in progress, plus Microsoft 365, Gmail and spreadsheet lookups.

[Book a walkthrough](https://invoiceiq.analytos.ai/contact)[All supported systems](#erp)

ERP

![Oracle NetSuite](/logos/netsuite.png)

### NetSuite

Live in production

The production adapter. Reads the purchase order and the receipt live, posts the vendor bill with its match report attached, and translates NetSuite errors into plain AP guidance.

![Stockly](/logos/stockly.svg)

### Stockly

Posting path

Analytos’s own ERP, reachable as an external service. Bills post to it through the same adapter contract NetSuite uses.

### QuickBooks

Adapter in progress

The intended target for Accounts Receivable. The adapter is a stub today — a scoping conversation, not a rebuild, because it maps to the same canonical model.

### Demo ERP

Built in

InvoiceIQ’s own in-app ledger, so a walkthrough shows every bill and invoice exactly as a real system of record would hold it — with no live credentials anywhere near it.

Mailbox

![Microsoft 365](/logos/microsoft-365.svg)

### Microsoft 365

Live

A shared mailbox polled through Microsoft Graph. An emailed invoice runs the same pipeline as an upload and lands in the inbox attributed to its sender.

![Microsoft Outlook](/logos/outlook.svg)

### Outlook

Live

An Outlook or Exchange Online mailbox is read through the same Microsoft Graph connector — and a person opening the mail first never causes a second ingestion.

![Gmail](/logos/gmail.svg)

### Gmail

Live

A Google Workspace mailbox connects over IMAP. Invoices arriving there enter the pipeline exactly once, attributed to the sender.

### IMAP mailbox

Live

Any IMAP mailbox, polled continuously. A message-id ledger and a received-time watermark make ingestion exactly-once — even if someone opens the mail first.

Lookups

![Microsoft Excel](/logos/excel.svg)

### Excel & CSV

Live

Lookup tables import from Excel, CSV or pasted text. The system proposes the column mapping, a person confirms it, and every value is validated against the live chart of accounts.

Documents

![PDF](/logos/pdf.svg)

### PDF & scans

Live

Text PDFs are parsed structure-first; a scanned or photographed page inside a PDF is read by OCR and vision. Every value keeps its position on the page.

Reading model

### Google Gemini

Live

One of the two reading models behind extraction. Models read the document and write rule code at authoring time; they never make the accounting decision at posting time.

![OpenAI](/logos/openai.svg)

### OpenAI

Live

The second reading model, used for classification and the verification pass that checks a read before a person ever sees it.

Developers

{ }

### REST API

Live

Every screen in the product is driven by the same documented API. Upload, status, inbox, rules, matching policies and posting are all callable.

Storage

![Amazon S3](/logos/s3.svg)

### Amazon S3

Live

Documents are stored in your bucket, in your account. Local disk storage is the alternative for an on-premise deployment.

Database

![PostgreSQL](/logos/postgresql.svg)

### PostgreSQL

Live

Rules, lookups, policies and the posting log all live in your Postgres database — versioned, auditable and yours to query.

Operations

![InfraIQ](/logos/infraiq.svg)

### InfraIQ

Live

Analytos’s operations layer meters AI usage and watches the deployment, so a stuck container is healed and every model call is accounted for.

Adding an ERP

## One adapter,  
not a rebuild

The engine never hard-codes an ERP’s field names. Every adapter implements the same handful of methods against the same canonical model.

[### Canonical data model Party, order, movement, document, result, coding, charges. See exactly which ERP field each object maps to. Read about the model](https://invoiceiq.analytos.ai/resources/data-model)

[### The adapter contract Fetch the order, fetch what moved, translate the document in and the result out, name the dimensions, translate status codes once. How an ERP is added](https://invoiceiq.analytos.ai/ap/erp-integration)

[### The REST API Every screen is driven by the same documented API — upload, status, inbox, rules, policies, posting. API documentation](https://invoiceiq.analytos.ai/docs)

## Don’t see your ERP?

Tell us what you run. Because every adapter maps to the same model, it is a scoping conversation rather than a rebuild.

[Book a walkthrough](https://invoiceiq.analytos.ai/contact)

[Home](https://invoiceiq.analytos.ai/)
