Invoice data extraction,
priced per page
Send invoice text, get back a strict JSON record — vendor, date, currency, subtotal, tax, line items, confidence. Built for bookkeepers, solo accountants and anyone wiring up QuickBooks or Xero workflows.
$0.02 / page · no subscription required · failed calls are never charged
curl -X POST https://skill.aiepco.com/api/skills/invoice-extract \
-H "X-API-Key: sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"text": "ACME SUPPLY LTD\nInvoice INV-2041\n...",
"pages": 1,
"currency_hint": "USD"
}'{
"output": {
"vendor": "ACME SUPPLY LTD",
"invoice_number": "INV-2041",
"issue_date": "2026-10-04",
"currency": "USD",
"subtotal": 1180.0,
"tax": 94.4,
"total": 1274.4,
"line_items": [ ... ],
"confidence": 0.93,
"review_required": false
},
"usage": { "units": 1, "creditsCharged": 2 }
}Fly to a customer site? Check it first.
Site preflight takes the facts you already know — domains, ports, certificates, proxy, accounts, timezone, bandwidth — and returns a 30-point checklist, the blocking itemsthat stop a deployment, and an email your customer's IT team can answer in one reply. No model, no guessing: anything you leave out is marked unknown and becomes a question, not an invention.
curl -X POST https://skill.aiepco.com/api/skills/site-preflight \
-H "X-API-Key: sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"customer": { "name": "Nordwind GmbH", "contact": "IT Ops" },
"domains": [
{ "host": "api.aiepco.com", "dns": "public" },
{ "host": "agent.werk2.internal", "internal_only": true }
],
"ports": [{ "port": 443, "direction": "outbound" }],
"certificates": { "kind": "internal_ca", "expires_in_days": 21 },
"proxy": { "required": true, "auth": "ntlm" },
"accounts": { "service_account": false },
"timezone": { "tz": "Europe/Berlin", "clock_sync": false },
"bandwidth": { "up_mbps": 3, "latency_ms": 280 }
}'- 30 checks scored pass / warn / fail / unknown
- Blocking list with how to unblock and who owns it
- An English (or Chinese) email, pre-filled with your site data
- ETA: how many days the gaps will cost you
Built for forward-deployed engineers who would rather not discover a blocked port at the gate.
Three steps, no SDK
Create a key
Sign up and copy your API key from the dashboard. 30 free pages land in your account immediately.
POST your invoice text
One JSON body, one endpoint. Pass the page count so billing matches what you actually processed.
Write it into your ledger
Fixed schema, nulls instead of guesses, and review_required when confidence is low.
Pricing
Invoice extraction: one unit = one page, $0.02/page. Site preflight: 3 free sites per month, then $9 per site. Failed calls are never charged.
FAQ
What exactly do I send?
Extracted invoice text (from a PDF text layer or your own OCR) plus the page count. The OCR/PDF ingest step is on our roadmap; today the API focuses on parsing, so you keep control of how documents enter your pipeline.
Is the output stable enough to write into an accounting system?
Every response is a fixed schema: vendor, invoice_number, issue_date, currency, subtotal, tax, total, line_items, confidence. When confidence is below 0.75 or a field cannot be read, the record is flagged review_required with warnings instead of guessing.
How is billing counted?
Per page, not per request or per seat. Free tier: 30 pages each calendar month. Paid: 2 credits per page ($0.02). Failed calls are never charged.
Do you store my invoices?
The API answers synchronously and does not retain invoice text. Only usage metadata (key, skill, pages, credits, timestamp) is recorded for billing.
Try it with 30 free pages
No card, no sales call. If it does not save you more than it costs, do not upgrade.
Create a free account