Invoice operations
Access
Access
Login and tenant context
User
Tenant
Access
Tenant users
Assign one or many tenant roles per user. Office admins manage tenant access. Global admins are managed separately.
Plan
Tenant plan
Only global admins can change the active plan for the current tenant.
Clients
Client directory
Create persistent clients here so every uploaded invoice and upload link belongs to a real client.
Platform
Global users
Create users and control global admin access across all tenants.
Platform
Tenants
Create tenants, set plans, and optionally assign an initial office admin.
Summary
Tenant statistics
Track throughput, review load, processor mix, and confidence routing for the current tenant.
Recent activity
Last 14 days
Document mix
Status breakdown
Routing
Sources, processors, and confidence
Sources
Processors
Confidence bands
System health
Health and intake
- API health
- loading
- Dependencies
- loading
- Live updates
- signed out
- API base
- loading
How it works
Upload happens from Documents
Use the Documents page to upload one or many invoices, then review or approve them from the table.
Operations
Internal ops dashboard
Watch host pressure, queue backlog, worker freshness, dead letters, and document processing time from one place.
Queues
Workers
Failures and recovery
Processing
External processing
Control app-wide external parsing and approval thresholds. These settings apply to every tenant.
Set the external threshold to 0% to disable external calls.
Notifications
Inbox
Review workflow events, approvals, failures, and other operator signals in one place.
Documents
Document workspace
Select one or many documents, review them directly, and apply bulk approve, unapprove, or delete actions.
Add PDF, image, or XML invoices here. New uploads are sent to processing automatically and will appear in the table below.
Choose the client before uploading invoices.
Trace
Pipeline trace
Review
Document review
Open a document from the Documents table or pick one from the review queue below.
Guide
How to use this page
Use this page to connect Comprobante with other systems. Create an API key for authenticated API calls, register webhook endpoints for push events, and use dead letters to recover failed deliveries.
Step 1
Create an API key
Name the key after the system that will call Comprobante. Copy it once and store it in your backend, secret manager, or automation platform.
curl \
-H "Authorization: Bearer comp_live_xxx" \
http://localhost:8787/v1/documents?limit=20&offset=0
Step 2
Add a webhook endpoint
Point the endpoint to your backend. If you set a signing secret, verify the x-comprobante-signature header against the raw JSON body before processing the event.
{
"event": "document.processed",
"eventId": "evt_123",
"tenantId": "tenant_123",
"timestamp": "2026-03-06T18:42:59.642Z",
"data": {
"documentId": "doc_123",
"status": "approved",
"confidence": 0.98,
"reviewTaskId": null
}
}
Step 3
Recover failed deliveries
If your endpoint times out or returns a non-2xx response, Comprobante retries it. After repeated failures, the event lands in dead letters. Fix the receiver, then requeue the event from this page.
curl \
-X POST \
-H "Authorization: Bearer comp_live_xxx" \
http://localhost:8787/v1/webhooks/dead-letters/00000000-0000-0000-0000-000000000000/requeue
Current webhook event types include document.processed, document.review_approved, and document.review_rejected. Use API docs and OpenAPI JSON for the full contract.
Access
API keys
New API key:
Delivery
Webhook endpoints
Recovery
Webhook dead letters
Links
Upload links
Configure tenant defaults and generate upload links that always belong to an existing client. Create or update clients from Tenant admin.
Defaults
Tenant defaults
Links
Create client upload link
Choose an existing client from Tenant admin, then generate a reusable upload link for that client.
Links