Pay bills in a batch
Pays several bills at once from one bank account, like Xero's batch payments, with the SEPA file to upload to the bank.
$0.01 per bill paid
From your agent’s balance. A call that fails costs nothing.
An example
Pay every bill due by the end of October from the business account and give me the bank file.
Your agent callspurchasing_pay_bills$0.01 per bill paid
The example business is Hansen & Voss, a restaurant-equipment wholesaler in Hamburg with 60 staff. The reply is the one the tool really gives.
{
"due_before": "2026-10-31",
"sepa_file": true
}Use it when
The business pays its suppliers in one go, say every Friday or before the month ends.
- For one bill, or money back from a supplier, use
purchasing_pay_bill.
What it does
Pay several bills at once from one bank account, like Xero's batch payments: bills (each with an optional amount, else its balance), or every unpaid bill due on or before due_before (one supplier's with supplier). One payment per bill on date, posted to the books from bank_account (default: where bank transfers land). sepa_file: true adds the SEPA credit transfer file (pain.001) to upload to the bank, paying each supplier's IBAN with the bill's reference; the bank books the batch as one line, which books_bank_lines then suggests matching to all its payments at once. All of it is paid or none.
What comes back
batch: its number, date, currency, total, the bank account, each payment (bill, supplier, reference, amount) and with sepa_file the file with its download link. Every reply also carries cost_usd and balance_usd.
Inputs
| Name | Type | What it is |
|---|---|---|
bills | array of objects | 1 to 200 items. |
bills[].bill_idRequired | string | The bill_id purchasing_create_bill returned. Exactly 36 characters. |
bills[].amount | number or string | Part of it. Default: what is still owed. Up to 24 characters. |
due_before | string | Every unpaid bill due on or before this day, instead of bills. Matches ^\d{4}-\d{2}-\d{2}$. |
supplier | integer or string | A supplier_id, or the supplier's name. 1 to 200 characters, at least 1. |
date | string | The day it is paid. Default today. Matches ^\d{4}-\d{2}-\d{2}$. |
bank_account | string | The books' bank account it is paid from, by code. Up to 20 characters. |
sepa_file | boolean | Default: false. |
from_iban | string | The IBAN it is paid from, when not the bank account's own. Up to 42 characters. |
from_bic | string | Up to 11 characters. |
The call
Over MCP, call purchasing_pay_bills on https://api.conecto.chat/mcp/purchasing. Over REST:
curl -X POST https://api.conecto.chat/v1/tools/purchasing_pay_bills \
-H "Authorization: Bearer $CONECTO_KEY" \
-H "Content-Type: application/json" \
-d '{"due_before":"2026-10-31","sepa_file":true}'When it refuses
A refused call costs nothing and says what to do next.
| Code | When | What to do |
|---|---|---|
unbalanced400 | The debits and credits do not add up to the same amount. | Make the lines balance. |
before_start409 | The date is before the books start. | Use a later date. |
period_locked409 | The books are locked for that date. | Use a later date, or unlock with books_lock. |
no_rate409 | There is no exchange rate for the currency on that day. | Pass rate, or set a standing rate with books_setup rates. |
rates_loading503 | The day's exchange rates are still loading. | Try again in a few minutes, or pass rate. |
invalid_input400 | Neither bills nor due_before, or both; the date is in the future; a bill is in it twice; the bills are in different currencies; or a SEPA file for bills not in euros. | Fix what the message names. |
not_found404 | No unpaid bill is due by due_before, or a bill_id is unknown. | List them with purchasing_list_bills. |
void409 | A bill is void. | Leave it out. |
already_paid409 | A bill is paid in full. | Leave it out. |
more_than_balance409 | An amount is more than its bill's balance. | Pay at most the balance. |
no_iban409 | For the SEPA file, a supplier or the bank account has no IBAN. | Add it with purchasing_save_supplier or books_save_accounts, or leave those bills out. |
in_progress409 | Another batch was numbered at the same moment. | Call again. |
More Purchasing tools
All 25 tools- Add or change a supplier
purchasing_save_supplierAdds a supplier or changes one: contact, email for orders, address, currency, payment terms and the book account their bills go to.$0.01 a call - List suppliers
purchasing_list_suppliersSuppliers by name, each with what is owed to them on open bills and how many orders are open.Free* - Say what a supplier sells
purchasing_save_supplier_itemsSays which Inventory items a supplier sells: their code, cost, pack size, minimum order, lead time and a fixed reorder quantity.$0.005 per item saved - List what suppliers sell
purchasing_list_supplier_itemsWhat suppliers sell: codes, costs, packs, minimums, lead times and the preferred supplier, for one supplier or one SKU.Free* - Draft reorders for low stock
purchasing_draft_reordersDrafts one purchase order per supplier for every item at or below its reorder point, counting what is already on order.$0.01 per draft order - Draft a purchase order
purchasing_create_orderDrafts a purchase order to a supplier: lines (with Inventory SKUs if you like), currency, delivery date and stock location.$0.01 a call - Change a draft order, or mark it sent
purchasing_update_orderChanges a draft order, or records it as sent without emailing it.$0.01 a call - Email a purchase order
purchasing_send_orderEmails an order to the supplier with a link to its PDF; a draft takes the next number first.$0.10 a call
Give this to your agent.
Set up Conecto from https://conecto.chat/SKILL.md