Integrations

Approved bills go into the books you already keep

Approved invoices post as bills to QuickBooks Online or Xero through direct connectors, or go into a CSV whose columns you define yourself.

The free plan processes 25 invoices a month with unlimited users, takes no credit card and does not expire. You get your own intake address at the end of setup.

Bright Green LandscapingApproved
Harborview Apartments · Landscaping$1,595.00
  • QuickBooks Online

    A bill with vendor, class and GL account

  • Xero

    A bill with account code and tax on every line

  • CSV export

    Your headers, your fields

    invoice_no,vendor,due_date,amount,property,gl_code,status

One approved invoice. Connect both ledgers and it posts to each, as one bill in each.

Where approved bills go

Three destinations, built and shipped. A connector writes a bill and its attachment, nothing else.

QuickBooks Online

Direct connector

  • A bill with vendor, class and GL account mapped from your coding.
  • The source PDF attached, and the external ID recorded against the document.
  • One bill per company when a split crosses separate books.

Never creates vendors, accounts, classes or tax codes, never edits an existing bill, never pays anything.

On every plan, including free.

The QuickBooks workflow

Xero

Direct connector

  • A bill with the supplier resolved to a Xero contact.
  • An account code and its own tax on every line, and tracking where you use it.
  • The source PDF attached where the invoice arrived with one.

Never edits an existing bill, never pays anything.

No Xero certification, and not on the Xero App Store.

What a Xero bill carries

CSV export

File you map

  • Seven columns by default, up to 64.
  • At document or allocation granularity.
  • You choose each header and the field behind it.

Generic on purpose: there is no per-product template, so you match your ledger's import format once.

On every plan, including free. SFTP delivery is on Pro and Enterprise, set up with us.

AppFolio, Buildium, Yardi and Rent Manager: Not built. No connector and no tested import profile. No date is set. They are on our roadmap, and the first customers on each system decide which we build first.

Why not, and what to use instead

There is no connector code, no import profile and no tested mapping for any of them, and we are not going to promise a date.

Every word of that is about approved bills going OUT to them. Setting inletAP up from a spreadsheet one of them exported is the opposite direction, and it is described below.

Nor is any of them reachable “through the CSV”. The CSV is a file you map to whatever your system imports, not a named connector for any product.

inletAP sits in front of your property management system rather than replacing it. The expensive part of AP comes before the write-out: opening the mail, reading the PDF, finding the building and the person who signs it off.

If a direct connector to your system is the deciding factor, say so. We would rather know than win the evaluation on a claim we cannot back.

When a ledger refuses

A failed export is a fix, not a cleanup. A retry cannot post a second bill.

  • Each ledger is tried on its own. One refusing does not roll the other back, and the document reads partially exported rather than posted.
  • Every batch records what it contained, what it created and what it failed on. Anything already posted is recognized by its external ID and skipped.

Bright Green Landscaping

One export run · two ledgers

Partly exported
  • QuickBooks OnlineBill created · external ID recorded$1,595.00
  • XeroRefused: account code not on the chart

A retry skips the bill QuickBooks Online already holds.

The other direction

Getting your data in is a different question from getting bills out

Everything above is outbound: approved bills leaving inletAP for a ledger. Setting the workspace up is inbound, it happens once, and it works differently.

1 · Match your columns

  • Building NameHarborview ApartmentsName
  • Street410 Harbor WayAddress line 1
  • OwnerHarborview LLCEntity
  • Doors48Door count

2 · Read the preview

This file would create 12 properties, update 3 and leave 40 unchanged. 1 row cannot be imported.

  • CreateLakeshore
  • UpdateMaple CourtDoors 24 → 26
  • Not importedRow 9 matches two properties

A file you export, read once, at setup

  • Property, unit, vendor and entity lists, from the system you run today or from the inletAP template. 5,000 rows per file. No invoices and no history.
  • Four layouts are recognized on sight: the inletAP template, DoorLoop, Rentec Direct and TenantCloud. That is a list of spreadsheet layouts, not a list of connectors.
  • There is no connection to any property management system, in either direction. AppFolio, Buildium, Yardi and Rent Manager still have no connector — and their exports still import here, by matching the columns yourself.
  • The preview comes first. Importing then writes in batches of 100 rows, and the same file again finishes a stopped import rather than duplicating it.

How importing works

Where invoices come in

Invoices arrive at an address inletAP runs. Or forward the one vendors already use.

  • Your own subdomain, yourcompany.inlet-ap.com. Every address on it is live as soon as you create it.
  • A portfolio catch-all, plus a mailbox per property, entity or joint venture.
  • PDFs, photos and images of paper invoices, Office documents, and invoices typed into the email body.
  • A re-sent copy of the same email is refused at the door. Duplicate matching runs right after extraction.

One limitation, stated plainly

inletAP cannot receive mail sent to your own domain; your DNS and mail provider control that, for every vendor. Auto-forward it instead, which takes a few minutes in Google Workspace or Microsoft 365.

inletAP mailbox settings showing four inbound addresses on an inlet-ap.com subdomain, each with its routing target, message count and last-received time.
Four mailboxes, each routing to its own target, with message counts and the last-received time alongside.Tap the image to open it full size.

Integration questions

Does inletAP integrate with QuickBooks Online?
Yes. Approved invoices post to QuickBooks Online as bills, with the vendor, class and GL account mapped from the coding applied in inletAP. The external ID QuickBooks returns is recorded against the document, so a posted bill traces back to the original email and attachment.
What if my accounting system is not QuickBooks or Xero?
Then you use the CSV export, and inletAP still does the whole job. The CSV is generic rather than per-product: seven sensible columns out of the box, up to 64, at document or allocation granularity, and you choose the header and the field behind each one. There is no ready-made template for any particular system, so plan on matching your ledger's import format once. QuickBooks Online was the first direct connector because it has the largest install base, not because inletAP is a QuickBooks product.
Do you support Xero?
Yes. Approved invoices post to Xero as bills: the supplier as a Xero contact, an account code and its own tax on every line, tracking categories where you use them, and the source PDF attached to the bill where the invoice arrived with one. Two things it is not. inletAP does not hold Xero certification and is not listed on the Xero App Store — certification requires live connections we do not have yet, and we will say so here when that changes. And it is not two-way: bills go one way, into Xero.
Can one invoice post to QuickBooks and Xero at the same time?
Yes. Connect both and an approved invoice posts to each connected ledger, as one bill in each, under a single export run. Each ledger is tried on its own, so one refusing does not roll the other back — and when that happens the document reads partially exported rather than posted, names which ledger took it, and offers a retry for the one that did not. Retries are idempotent in both ledgers, so a retry cannot create a second bill.
Does the Xero connector do everything the QuickBooks one does?
No, and the differences are worth knowing before you buy rather than after. Xero puts tracking on each line, so one Xero bill can carry a different property on every line. The ceiling is that a Xero organization defines at most two tracking categories in total, so properties have to be one of the two you already use. There is no Xero equivalent of coding a line to a unit as a sub-customer — that one stays QuickBooks-only, and we are not going to imply otherwise. The nightly reconciliation check, on Starter and above, reads bills back out of both ledgers and records what each one actually holds, so the two are equal there.
Is there a connector for Yardi, AppFolio, Buildium or Rent Manager?
No. None of them is built, and we are not going to imply otherwise by calling them CSV destinations. What exists is a CSV export whose columns you define yourself, which you can shape to whatever your system's import expects — that is a file you map, not a tested connector for any of those products. inletAP is designed to sit in front of your property management system rather than replace it, so the connection that matters most is the ledger you post bills into. One thing that answer is often taken to rule out, and does not: you can still set inletAP up from a file one of those products exported. That is the opposite direction — your property, unit, vendor and entity lists coming IN once, at setup, with your columns matched to ours — and it needs no connector at either end.
Can I import my property and vendor lists from the system I use now?
Yes, as a file. Export the property, unit, vendor or entity list from whatever you run today, or download the inletAP template, and import it. You match your columns to inletAP's fields once — four layouts are recognized on sight, the inletAP template plus DoorLoop, Rentec Direct and TenantCloud, and everything else is read by mapping, which covers every system rather than a shortlist. Say plainly what this is: a file you exported, read once, at setup. There is no connection to your property management system, nothing is polled, and nothing stays in step afterwards. It is also the opposite direction from the connector question above, which is about approved bills leaving inletAP.
What stops a bad spreadsheet from wrecking our data?
The preview. It writes nothing: it names every row it would create, every row it would change and, for a change, the old value beside the new one, and a row that matches two existing records is reported as an error naming both rather than guessed at. Fix the file and upload it again. Importing then writes in batches of 100 rows, so if a batch fails part-way the report says where it stopped and the rows before it stay saved — uploading the same file again finishes it rather than duplicating it, because an import matches on the same keys every time. Imports are open to admins, controllers and AP specialists; a viewer cannot run one.
How does email intake actually get set up?
Your organization gets a subdomain of inlet-ap.com and a first mailbox on it during signup. Add more mailboxes per property or joint venture from settings; each shows how many messages it has taken and when the last one arrived. Give the addresses to vendors, or auto-forward from your existing mailbox.
Can I keep using the invoice address my vendors already have?
Through forwarding, yes. inletAP cannot receive mail addressed to a domain you own — your DNS and mail provider control that routing and no third party can change it. What you do instead is set up auto-forwarding at your provider into an inletAP mailbox. Choose the mailbox that matches how you want the mail handled, because the destination mailbox sets the routing; per-property addresses can each forward to their own. Beyond that, a rule on source email can code the invoice once it is in.
Can one invoice post into more than one QuickBooks company?
Yes, as one bill per company. Several QuickBooks Online companies can be connected to one workspace and each ownership entity names the company its books live in, so an invoice split across properties with separate books fans out into a bill per company rather than needing to be entered twice. There is no cross-company posting in the QuickBooks Online API — every write is scoped to one company file — so the fan-out is the only correct shape, and the export preview names the companies and the amounts before anything is created.
Does splitting work if we track properties as QuickBooks locations?
No, and this is worth checking before anything else. A QuickBooks bill carries one Location for the whole document, and classes and customers on each line. So properties tracked as QuickBooks Locations cannot be split across a single bill at all — only properties tracked as classes can. inletAP checks which one your company uses and says so before the export runs, not after it. There is no workaround on our side: it is how the Bill object is defined, not a limit of the connector. Xero has no header-level equivalent to fall into — its tracking sits on the line — so this particular trap is a QuickBooks one.
What happens when an export fails?
The batch records the reason — an inactive GL account, a vendor that no longer exists in the ledger — and offers a retry. Retries are idempotent and external IDs are recorded, so retrying cannot create a second bill for the same invoice.

Need something that is not here? Tell us what you post to — connector priority is driven by what people actually ask for.

Start free and run your own invoices through it

25 invoices a month, unlimited users, no credit card. Send this month's vendor bills and watch each one get checked, coded and posted to your books.