Plans, limits, and how usage is counted.
doctagd's limits are intentionally simple: a monthly document allowance and a cap on saved configs. Previews are free; only finished documents count. Reset is on the first of each calendar month (UTC).
What counts
Every finished .docx counts: a multi-row run, a single-row download, an API run. One row = one document.
What doesn't
Previews and failed generations do not consume your allowance. Map and tune as much as you need.
Resets monthly
The allowance resets at 00:00 UTC on the first of each calendar month. Unused docs do not roll over.
When you hit the cap
Reaching your document limit returns HTTP 402 Payment Required on the API and surfaces the same structured payload in-app via the upgrade modal. Reaching the config limit returns 402 from the save endpoint with code config_limit_reached.
{
"error": "Your Free plan has 0 documents remaining…",
"code": "usage_limit_reached",
"plan": "free",
"used": 10,
"limit": 10,
"requested": 3,
"sharedLicense": false
}Upgrading
The upgrade modal shows the next tier (Free → Pro, Pro → Business) with monthly and yearly options. Stripe Checkout opens in a hosted session; on completion you're redirected back to /account and your new limits apply immediately. Cancel anytime via the Customer Portal - you stay on the paid tier until the period ends.
/account Billing card → Upgrade / Manage
The 402 upgrade modal Inline when a run is blocked
/#pricing Marketing-side comparisonShared licenses
On a shared license, the monthly document allowance is pooledacross the owner and all linked members. Saved configs and API keys remain per user. Members at the cap see an "ask your license owner to upgrade" message - they can't open Checkout themselves because they don't own the subscription. Provisioning is admin-only at the moment (contact us to add or remove seats).
Pooled across the license Per user
───────────────────────── ──────────────
• Monthly document quota • Saved configs
• API keys
• Usage attribution rowsTips
Preview-tune freely
Use the per-row preview to validate output without spending documents.
Grouped output is one doc per group
If you apply the group-by suggestion in Quick mode, the count drops from rows to groups.
Single-row downloads count
Downloading one document from the row picker still consumes one from your allowance.
Idempotency-Key protects retries
On the API, sending the same Idempotency-Key on a retry returns the original run without re-billing.
Next: API reference (402 details and idempotency), or troubleshoot a blocked run.
