[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Enter vendor bills in Acumatica automatically

> Turn vendor invoices into Acumatica AP bills On Hold, skip duplicates and release only the ones you approve. Runs from Claude Code, n8n or a script.

Source: https://cotlet.dev/integrations/acumatica-api-mcp-server/enter-vendor-bills

Vendor invoices arrive as PDFs in a shared inbox, and someone retypes each one into Bills and Adjustments, checks that the vendor reference is not already there, and releases it after review.

Cotlet does it in your own Acumatica account with list\_vendors, list\_bills, create\_ap\_bill and release\_ap\_bill, called by your AI agent, an n8n workflow or a script.

[Sign up free](https://cotlet.dev/app/signup?app=acumatica) [All Acumatica tools](https://cotlet.dev/integrations/acumatica-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can Acumatica do this on its own?

Acumatica has no feature that reads an invoice and creates the bill (checked 14 Oct 2026). Its contract-based REST API can create a bill and run Release, but each tenant needs an OAuth Connected Application first and your developer writes the code. The built-in MCP server added in 2026 R2 is read-only and cannot create a bill.

## How you do it in Acumatica today

1. The AP clerk opens Bills and Adjustments (AP301000), selects the vendor and types the vendor reference, document date and due date from the invoice.
2. The clerk adds one row per line in the Document Details tab with the description, amount and expense account.
3. If Hold Documents on Entry is on in Accounts Payable Preferences, the bill starts On Hold; otherwise it starts Balanced and can be released at once.
4. With the approval procedure enabled for the document type, the bill waits in Pending Approval until an approver clicks Approve.
5. A manager clicks Release on the form, or runs Release AP Documents (AP501000) for several bills at once, which turns each bill Open and posts it to the ledger when Automatically Post on Release is on.
6. The step that gets missed is the duplicate check: the same invoice emailed twice becomes two bills unless someone searches the vendor reference first.

## How to enter vendor bills in Acumatica automatically

Prompt

```
Read the vendor invoices I attached, find each vendor in Acumatica, and create an AP bill On Hold for each one with the vendor reference, dates and amounts. Show me the list, and release only the bills I approve.
```

1. 01  
### Match the vendor  
The agent calls list\_vendors with the name on the invoice and picks the Vendor ID. If two vendors fit, or none does, it stops and asks you instead of creating a bill against a guess.
2. 02  
### Check for a duplicate  
list\_bills runs for that vendor and looks for the same vendor reference. A match is reported as already entered, with its status, and no second bill is created.
3. 03  
### Create the bill On Hold  
create\_ap\_bill saves each new bill with hold set to true, so it cannot be released while you review it. Lines carry the description and amount from the invoice, and the agent checks that the lines add up to the invoice total before it sends the call.
4. 04  
### Show the review list  
The agent lists every bill it created with vendor, reference, amount and the account used on each line, and marks the ones where it was unsure of the account.
5. 05  
### Release what you approve  
release\_ap\_bill runs only for the bills you name, with remove\_hold set so a held bill becomes Balanced first. Each release asks for your OK by default, because a released bill cannot be deleted.

### What you get back

Example data

```
Invoices read: 5
Created On Hold: 4
- Northwind Office Supply INV-20418, 1,240.00 (BILL-004812)
- Delta Freight INV-9931, 3,075.50 (BILL-004813)
Already in Acumatica: 1
- Northwind Office Supply INV-20391 (BILL-004790, Open)
Needs you: 0 unmatched vendors
Released after your OK: 3
```

### Other ways to ask

- Every morning, read new invoices from the AP folder and create bills On Hold, but never release them.
- Create a bill for each line of this vendor statement and flag any vendor reference I already entered.
- Release every bill that is Balanced and under 500.00 and list the rest for me.
- Show me bills On Hold older than 3 days so I can finish reviewing them.

## What Acumatica allows, and what to know first

- Acumatica starts a new bill On Hold when Hold Documents on Entry is selected in Accounts Payable Preferences, or when the approval procedure is enabled for the document type.
- A bill On Hold can be edited but cannot be released, so a bill created with hold set to true waits for a person.
- With approval required, a bill sits in Pending Approval and moves to Balanced when an approver approves it, and the Approve command exists only when the Approval Workflow feature is enabled.
- A released bill is Open and can no longer be edited or deleted; you correct it by reversing it, which creates a debit adjustment.
- When Automatically Post on Release is on, releasing an AP document posts its transactions to the general ledger.

create\_ap\_bill and release\_ap\_bill ask for your OK by default. To run it daily without you, switch confirmation off for those tools in your dashboard.

Sources: [Acumatica Help: Bills and Adjustments (AP301000)](https://help-2024r2.acumatica.com/%28W%285%29%29/Wiki/ShowWiki.aspx?pageid=e2249278-d864-49e2-9ba6-2c17b921ca6c) · [Acumatica Help: To Reverse a Bill](https://help-2024r2.acumatica.com/%28W%284%29%29/Wiki/ShowWiki.aspx?pageid=9559dcd7-f430-4cc2-bcfd-0e9217cf9df1) · [Acumatica Help: Release AP Documents (AP501000)](https://help-2024r2.acumatica.com/%28W%284%29%29/Wiki/ShowWiki.aspx?pageid=b0977bf2-a93e-408f-8fb1-fbbbb812df0a) · [Acumatica: 2026 R2 release with embedded AI](https://www.acumatica.com/corporate-newsroom/press-releases/acumatica-2026-r2-release-with-embedded-ai/)

## Call create\_ap\_bill from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/acumatica/vendors/V000123/ap-bills \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"vendor_ref":"INV-20418","date":"2026-10-12","due_date":"2026-11-11","hold":true,"lines":[{"description":"Printer paper, 40 boxes","amount":960,"account":"60100"},{"description":"Toner cartridges","amount":280,"account":"60100"}]}'
```

Example response

```
{
"reference_nbr": "004812",
"vendor_id": "V000123",
"vendor_ref": "INV-20418",
"status": "On Hold",
"total": 1240
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is acumatica\_write → create\_ap\_bill. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/acumatica-api-mcp-server.md#automations)

## Acumatica tools this automation uses

__Cotlet Acumatica tools used to enter vendor bills in Acumatica automatically__
| Tool | Parameters |
| ----------------- | ----------------------------------------------------- |
| list\_vendors | search, status, limit, cursor |
| list\_bills | status, vendor\_id, vendor\_ref, limit, cursor |
| create\_ap\_bill | vendor\_id, vendor\_ref, date, due\_date, hold, lines |
| release\_ap\_bill | reference\_nbr, remove\_hold |

[All 13 Acumatica tools with descriptions](https://cotlet.dev/integrations/acumatica-api-mcp-server.md#tools)

## Frequently asked questions

### Is it safe to connect Acumatica to Cotlet?

Yes. You sign in to Acumatica yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Acumatica once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

## More Acumatica automations

- [Create and release Acumatica customer invoices from a billing sheet](https://cotlet.dev/integrations/acumatica-api-mcp-server/create-and-release-customer-invoices.md)
- [Acumatica API and MCP server: every tool](https://cotlet.dev/integrations/acumatica-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Acumatica.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Acumatica.

[Sign up free](https://cotlet.dev/app/signup?app=acumatica)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.

## For AI agents: sign your user up

Is your user asking you to sign them up for Cotlet? You can do it for them, no account or key needed.

1. Read the fields and their allowed values: GET https://cotlet.dev/api/v1/access-requests
2. Ask the user for each value: email, apps, what you will do with them. If they leave the password to you, generate a strong one and show it to them.
3. Show the user what you will send, then POST it as JSON to https://cotlet.dev/api/v1/access-requests.

One call creates the account and sends the access request; we email the user when access is granted.
