Documentation

How to configure an AI provider and process invoices with this platform.

Getting Started
  1. Go to Settings and pick a cloud provider card (OpenAI, Anthropic, Gemini, or Groq).
  2. Enter a model name and your API key for that provider.
  3. Click Test Connection to verify the key works.
  4. Once the test succeeds, click Save For This Session.
  5. Go to Upload and drop in one or more invoices (PDF, PNG, JPEG, TIFF).
  6. Review extracted fields on the Review Queue and approve or correct them.
  7. Export approved invoices to Excel from the dashboard.

Alternatively, if a local provider (Ollama, LM Studio, llama.cpp) is running and configured by the site operator, or the operator has set an admin fallback key, uploads work without configuring a browser session key.

Configuring Model, API Key & JSON Config

Model— the provider's model identifier, e.g. gpt-4o-mini, claude-sonnet-4-5, gemini-2.0-flash, or llama-3.3-70b-versatile.

API Key — pasted directly into the provider card; toggle the eye icon to confirm what you typed.

JSON Config (optional) — extra provider-specific parameters, e.g. {"temperature": 0.2}. Must be a valid JSON object; invalid JSON is flagged inline and blocks Test Connection.

Security Notice

Your API key

  • ✓ never leaves your browser except for requests made to the selected provider
  • ✓ is never stored on our servers
  • ✓ is removed when your browser session ends
FAQ / Troubleshooting
"Invalid API key"
The key was rejected by the provider. Double-check you copied the full key with no leading/trailing spaces, and that it hasn't been revoked or rotated in the provider's console.
"Model not found"
The model name doesn't exist or isn't available to your account/tier. Check the exact model identifier in the provider's model list.
"Quota exceeded"
Your account has hit its usage/billing limit with the provider. Check your usage dashboard and billing status on the provider's site.
"Network timeout"
The provider didn't respond in time. Usually transient — retry. If it persists, check the provider's status page.
"Rate limited"
Too many requests in a short window. Wait a moment and try again, or reduce concurrent uploads.