Parsli documentation

Dictionary

Dictionary

Every term Parsli uses, defined twice — once in plain English, once precisely. Including the words we used to use.


Every term below is defined twice. The first definition is for someone running a business. The second is for someone writing code — types, payload keys, constraints.

That is on purpose. It means the rest of these docs can stay in plain English without a developer ever being left guessing what a word maps to.

Each entry also lists what it is called elsewhere. Parsli has renamed things over the years, and other tools in this category use different words for the same idea. If you learned a screen as "Integrations" and it is now "Outbound", searching the old word will still find it. Nobody should be stranded on outdated vocabulary.

Search matches the plain definition, the precise definition, and every alias.

Core concepts

The handful of ideas everything else builds on.

AI detect fieldsIn the app: AI detect fields, on step 1 of the new-parser flow.

A shortcut when creating a parser: upload one sample document and Parsli proposes the fields for you. You then keep, rename, or delete what it suggests.

In precise terms. Generates a candidate field definition from a sample. A starting point, not a commitment — the definition is fully editable afterwards.

Also called: auto-detect fields, suggest fields

See also: field definition, parser type

ConfidenceIn the app: Shown against extracted values on the Documents page.

How sure Parsli is about a value it pulled out. Low confidence is a flag to look at that field yourself before trusting it.

In precise terms. A per-field signal emitted alongside the result. Surfaced on the Documents view. Used by the engine's fail-closed behaviour: results that fall below threshold are held rather than silently returned as fact.

See also: extraction, parsing engine

DocumentIn the app: The Documents page for each parser.

One file you sent to Parsli — an invoice, a receipt, a scanned form. Also the record of what came back out of it.

In precise terms. A single processing record belonging to a parser. Holds the source file, the extracted result, page count, credits charged, status, and timing. Addressed as `document_id`. Retrieved via `GET /api/v1/documents/{id}`.

Also called: file, upload, record, job

See also: parser, page, extraction

Extraction

The act of reading a document and turning it into structured data.

In precise terms. One run of Parsli's parsing engine over one document, against that parser's field definition. Produces a result object, a per-field confidence signal, and an engine stamp recording how it was processed.

Also called: parse, processing, run

See also: parsing engine, confidence, parser type

Field ExtractionIn the app: Field Extraction — “Extract columns, fields, and tables.”

The parser type where you say what you want — invoice number, total, line items — and get exactly those back, the same way, every time. Documents do not have to share a fixed layout.

In precise terms. Requires a non-empty field definition; a request against an empty one is rejected with 400. Returns the defined keys and nothing else, which is what makes output safe to write straight into a database or ledger.

Also called: Extract Fields, structured extraction, field mode

See also: parser type, field definition, table field

Full Document ExtractionIn the app: Full Document Extraction — “Extract all text from every page.”

The parser type that converts a whole document to text with its layout intact, instead of pulling named values. Use it when you want everything, or when documents vary too much to pin down fields.

In precise terms. No field definition required; structure is derived per document and layout is preserved. Parser-level extraction instructions still apply.

Also called: Extract Everything, full content, full text, OCR mode

See also: parser type, extraction instructions

Page

The unit Parsli counts. A three-page PDF is three pages. An image is one page. This is what your plan is measured in.

In precise terms. The billable unit. `page_count` is resolved per document at processing time. One page consumes one credit; a document's charge is its page count.

Also called: credit

See also: credit, signup bonus

ParserIn the app: Listed in the left sidebar. Each one opens to Documents, Fields & Tables, Inbound, Outbound, Inbox, and Settings.

A reusable setup for one kind of document. You make one called “Supplier invoices”, tell it what to pull out, and every invoice you send it afterwards comes back the same shape.

In precise terms. The top-level object. Owns a field definition, a parser type, its documents, its inbound routes, and its outbound integrations. Addressed as `parser_id` throughout the API. Statuses: `active`, `paused`, `archived`.

Also called: template, extractor, recipe, mailbox

See also: document, field, parser type

Parser statusIn the app: Settings, on the parser.

Whether a parser is accepting documents. Active parsers work; paused ones turn new documents away; archived ones are hidden but not deleted.

In precise terms. `active` | `paused` | `archived`. A non-active parser rejects API and webhook submissions with 404. Archiving is a soft delete — documents and results are retained.

Also called: active, paused, archived, parser state

See also: parser

Parser typeIn the app: Choose a parser type, on step 1 of the new-parser flow.

Whether you want specific values pulled out, or the whole document converted. You choose this once, when you create the parser.

In precise terms. Set at creation. Field Extraction requires a field definition and returns exactly those keys. Full Document Extraction requires none and returns the document's content with its layout preserved.

Also called: extraction mode, extraction type, Extract Fields, Extract Everything

See also: field extraction, full document extraction, parser

Parsli's parsing engine

The part of Parsli that actually reads your documents. It handles scans, photos, handwriting, and messy layouts, and it is built to say “I could not find that” rather than invent an answer.

In precise terms. A dedicated extraction service, separate from the web application. Handles page rendering, OCR, layout understanding, field resolution, and a grounding pass that abstains rather than fabricating when a value is not present in the source.

Also called: the engine, the AI, the model

See also: extraction, confidence, full document extraction

ReprocessIn the app: The Documents page for each parser.

Running a document through again — normally after changing what you asked for. It costs the same as processing it the first time.

In precise terms. Re-runs extraction against the parser's current field definition and replaces the stored result. Charged at the document's full page count; there is no discount for a repeat.

Also called: re-run, run again, retry

See also: document, extraction, credit

Source type

How a document arrived — uploaded, emailed, or sent by another system. Useful when you want emailed invoices handled differently from ones a colleague dropped in.

In precise terms. `metadata.source_type` on the webhook payload. Lets one endpoint branch on origin without needing a separate parser per route.

Also called: origin, intake route

See also: document, webhook, inbound

Fields and tables

How you describe the data you want.

Extraction instructionsIn the app: AI instructions — the box under each field in Fields & Tables. Parser-wide instructions live in Settings.

Extra directions for tricky cases — “use the total including tax, not the subtotal”, or “if there is no PO number, use the invoice number”. You can set them on one field or on the whole parser.

In precise terms. Two levels. Field-level `extractionInstructions` apply to one field. Parser-level instructions apply to every extraction that parser runs, including full-content mode.

Also called: AI instructions, custom instructions, prompt, rules, Custom Extraction Instructions

See also: field description, field, full document extraction

FieldIn the app: Fields & Tables

One thing you want pulled out — “Invoice number”, “Total”, “Due date”. Each field becomes a column in your data.

In precise terms. A node in the parser's field tree. Has `name`, `type`, optional `description`, optional `extractionInstructions`, and an optional `required` flag. Leaf fields carry a primitive type; `object`, `list`, and `table` fields carry children.

Also called: schema field, column, attribute, property

See also: field type, table field, extraction instructions, field definition

Field definitionIn the app: Fields & Tables

The full list of fields for a parser — everything you have told it to look for.

In precise terms. The parser's `fields` array: a tree of field nodes. Required and non-empty for `fields`-mode parsers; a request against an empty definition is rejected with 400.

Also called: schema, the schema, Schema tab, template, field set

See also: field, parser

Field descriptionIn the app: The description box on each field in Fields & Tables.

A short note on a field explaining what you mean, so Parsli picks the right value when a document is ambiguous.

In precise terms. Optional `description` on a field node. Passed to the engine as part of the field definition. The cheapest accuracy fix available — before adding instructions, check the description says what you actually mean.

Also called: hint, field note

See also: field, extraction instructions

Field typeIn the app: The type selector on each field in Fields & Tables.

What kind of value a field holds — text, a number, a date, an email address. Picking the right one keeps your data clean and consistent.

In precise terms. One of the primitive types (`string`, `number`, `decimal`, `boolean`, `date`, `email`, `url`, `phone`, `address`, `richtext`, `single_select`, `multi_select`) or a compound type (`object`, `list`, `table`).

Also called: data type, type

See also: field, select field, table field, object field, list field

List field

A field that holds several simple values — a set of reference numbers, a list of tags.

In precise terms. `type: "list"` with an `item` definition. Returns a JSON array. Use a table field instead when each entry has more than one property.

Also called: array, multiple values

See also: field type, table field

Object field

A field that groups related things together — a vendor with a name, an address, and a tax number all under one heading.

In precise terms. `type: "object"` with a `children` array. Returns a nested JSON object.

Also called: group, nested field, section

See also: field type, table field

Required field

A field you have marked as must-be-present, so it is obvious when a document is missing something important.

In precise terms. `required: true` on a field node. Surfaces the absence rather than silently returning null.

See also: field, confidence

Select field

A field that can only be one of a list of options you choose — like a category that must be Hardware, Software, or Services. Use it when you want values to stay tidy instead of free text.

In precise terms. `single_select` returns one value from the configured option set; `multi_select` returns an array. Constraining values is the most reliable way to make downstream grouping and filtering work.

Also called: dropdown, picklist, enum, category field

See also: field type, field

Table fieldIn the app: Fields & Tables

A field for rows that repeat — invoice line items, transactions on a statement. You define the columns once and get back one row per line found.

In precise terms. `type: "table"` with a `columns` array of field definitions. Modelled as a list of objects. Returns a typed JSON array, one object per row, keys matching the column names. No cell coordinates and no reconstruction step.

Also called: line items, table, rows, repeating section

See also: field type, object field, list field

Getting documents in

Every route a document can take into Parsli.

Bulk uploadIn the app: The Documents page of a parser.

Sending many documents at once — select a pile of files, drag in a whole folder, or drop in a ZIP and Parsli unpacks it.

In precise terms. Multi-file selection, folder drag-and-drop, and ZIP expansion on the Documents page. Processes with bounded concurrency and a per-batch file cap.

Also called: batch upload, mass upload, folder upload

See also: document, inbound

Gmail inboxIn the app: Added from Outbound as an integration, then filtered by sender.

A connection to your Gmail account that watches for mail from a specific sender and extracts the attachments automatically. Read-only — Parsli cannot send, delete, or change your mail.

In precise terms. A pull integration authorised over OAuth with read-only scope, filtered by sender. Polled on a schedule; matching messages are ingested as documents.

Also called: Gmail integration, email connection

See also: inbound email address, integration

InboundIn the app: Inbound

Everything that brings documents into a parser — uploading, emailing, or sending them from another system.

In precise terms. The intake half of a parser. Covers manual upload, the parser's inbound email address, the inbound webhook, connected mail accounts, and the REST API.

Also called: import, sources, intake, Import tab

See also: inbound email address, inbound webhook, gmail inbox, bulk upload

Inbound email addressIn the app: Settings → Email Forwarding, and repeated on the Documents page beside the upload area.

A private email address belonging to one parser. Anything sent there gets processed automatically — handy for forwarding supplier invoices straight in.

In precise terms. Per-parser address matched on the recipient. The email body, sender, and attachments are combined into a single document rather than split into one record per attachment.

Also called: parser email, forwarding address, email intake, Email Forwarding

See also: inbound, gmail inbox, inbox

Inbound webhookIn the app: Settings → API Keys & Webhooks → Inbound Webhook.

A private web address for one parser that other systems can post documents to. No API key needed, which makes it the easy option for no-code tools.

In precise terms. `POST /api/inbound/webhook/{token}`. Accepts multipart form data or JSON with base64 content. The token in the URL is the credential — treat it as a secret.

Also called: intake URL, post URL, capture URL, Inbound Webhook

See also: api key, inbound, webhook

InboxIn the app: Inbox

A shared drop-off point for a parser, so colleagues can send documents in without you giving them a full Parsli account.

In precise terms. A per-parser intake surface with its own access rules.

See also: inbound, inbound email address

Getting data out

Where extracted data goes next.

Accounting integrationIn the app: Outbound

A direct connection to QuickBooks Online, Xero, or Zoho Books that files extracted bills and invoices straight into your books.

In precise terms. OAuth-connected integrations that create records in the target ledger from extracted output, mapped to accounts and contacts you configure per parser.

Also called: QuickBooks, Xero, Zoho Books, bookkeeping connection

See also: integration, outbound

Data feedIn the app: Set up from Outbound as the Google Sheets integration.

A live link to a parser's results that a spreadsheet can read directly, so your sheet fills itself and stays current.

In precise terms. A tokenised CSV endpoint per parser, consumed from Google Sheets with `IMPORTDATA`. Refreshes whenever the sheet recalculates — no webhook or manual export step.

Also called: IMPORTDATA link, CSV feed, sheet link

See also: integration, outbound

Email notification

Tells a person by email that a document was processed — for someone who needs to know but does not need a Parsli account.

In precise terms. A delivery integration that emails on document completion. Notification, not data transport.

Also called: alert, notify

See also: integration, outbound

Filled Spreadsheet → DriveIn the app: Outbound.

Instead of giving you data to copy into your spreadsheet, Parsli fills your actual XLSX template from each document and puts the finished file in your Drive.

In precise terms. Populates an uploaded XLSX template per extracted document and uploads the result to Google Drive. For cases where the output layout is fixed by someone else — a regulator, a client, or a system that accepts only one format.

Also called: template fill, XLSX template, filled spreadsheet

See also: integration, outbound

IntegrationIn the app: Outbound

A connection between a parser and another tool — a spreadsheet, your accounting system, or an automation platform.

In precise terms. A typed configuration attached to a parser. Delivery integrations fire on each completed document; pull integrations bring documents in instead. Each has its own config shape and a test action.

Also called: connection, destination, app

See also: outbound, webhook, data feed

OutboundIn the app: Outbound

Everything that sends your extracted data somewhere else once a document is done.

In precise terms. The delivery half of a parser. Holds its configured integrations; each one fires per completed document.

Also called: integrations, Integrations tab, export, destinations

See also: integration, webhook

WebhookIn the app: Outbound

Parsli calling your system the moment a document is finished, and handing over the data. The general-purpose option when there is no ready-made connection for your tool.

In precise terms. Outbound HTTP POST or PUT to a URL you supply, with optional bearer or basic auth. The payload carries the event, parser and document identifiers, the extracted `data` object, and file metadata.

Also called: callback, HTTP callback, postback

See also: integration, inbound webhook, outbound

API

Terms you only meet if you are writing code.

API keyIn the app: Settings, on the parser. (Keys and webhooks used to live on a separate API page; that page now redirects here.)

A secret password for code. It is shown once when you create it — copy it then, because it cannot be shown again.

In precise terms. Bearer credential, prefixed `ext_`, scoped to one parser. Sent as `Authorization: Bearer ext_...`. Stored as a hash, so a lost key is revoked and replaced, never recovered.

Also called: token, secret key, bearer token

See also: synchronous extraction, inbound webhook

Asynchronous extraction

Sending a document and collecting the answer afterwards. This is the route for big files and slow scans — the ones most likely to time out if you wait.

In precise terms. Request an upload target from `POST /api/v1/upload-url`, upload the bytes directly to storage, submit the resulting `storage_path` to `POST /api/v1/extract`, then poll `GET /api/v1/documents/{id}`. Files submitted this way are always processed by a worker, never inline.

Also called: async extract, upload URL flow, polling flow

See also: synchronous extraction, storage path, document

Storage path

The reference you get back after uploading a file directly, which you then hand to Parsli instead of the file itself.

In precise terms. Returned by `POST /api/v1/upload-url` and submitted as `storage_path`. Namespaced to the owning account; a path outside your own namespace is rejected with 403.

See also: asynchronous extraction

Synchronous extraction

Sending a document and waiting for the answer in the same request. Simplest option for small files.

In precise terms. `POST /api/v1/extract` with an inline base64 file. Returns the extracted result in the response body. Bounded by a fixed inline size cap and by request wall-clock — not suitable for large or slow documents.

Also called: inline extract, direct extract

See also: asynchronous extraction, api key

Credits and billing

What gets counted, and what it costs.

Credit

What one page costs. Ten credits processes ten pages, whether that is ten one-page receipts or one ten-page contract.

In precise terms. The billing unit, one-to-one with pages. Reserved before processing and refunded if extraction fails, so failures do not consume balance.

Also called: page, unit

See also: page, signup bonus, overage

Credit expiry

Free signup pages do not last forever. The countdown begins the first time you successfully extract something, not the day you sign up.

In precise terms. Expiry is computed on read against the first-successful-extraction timestamp. Purchased credits carry their own, much longer validity. Subscription allowances renew per billing cycle instead of expiring on this clock.

Also called: expiring credits, trial clock

See also: signup bonus, credit, subscription

Overage

Extra pages bought on top of a monthly plan after the included allowance is used up. Available to subscribers. If you are buying overage every month, moving up a plan is cheaper.

In precise terms. Per-credit top-up gated to active subscribers. Deliberately priced above the bundled per-page rate of every tier so that sustained overage costs more than upgrading.

Also called: top-up, extra credits, pay as you go

See also: subscription, credit

Signup bonus

The free pages you get for creating an account, with no card required. They expire on a short clock once you start using them, so try Parsli on real documents when you are ready to look at the results.

In precise terms. A one-time free grant on signup. The expiry clock starts at the first successful extraction, not at signup. Exact page count and window are published on the credits page and derived from billing configuration.

Also called: free pages, free trial, free credits, welcome credits

See also: credit, credit expiry, subscription

SubscriptionIn the app: Settings.

A monthly plan with an included page allowance that resets each billing cycle. Every feature is included at every level — plans differ only in how many pages you get.

In precise terms. The active subscription is authoritative for entitlement. The monthly allowance resets per cycle. Feature access does not vary by tier.

Also called: plan, monthly plan

See also: credit, overage, signup bonus

Teams

Sharing an account with other people.

OrganizationIn the app: Settings.

A shared Parsli account for a team. Parsers and pages belong to the organization rather than to one person, so work does not vanish when someone leaves.

In precise terms. The ownership boundary above an individual user. Members share one credit pool and see the organization's parsers subject to their role.

Also called: team, workspace, company account

See also: role, shared credit pool

RoleIn the app: Settings.

What someone is allowed to do in a shared account. Owner and admin can manage people and billing; a member does the day-to-day work; a viewer can look but not change.

In precise terms. Strictly hierarchical: `owner` > `admin` > `member` > `viewer`. Permission checks resolve against rank, so a higher role always implies the abilities of a lower one.

Also called: permission, access level, seat type

See also: organization

Shared credit pool

One balance for the whole team. Anyone's extraction draws from the same pot, and billing stays in one place.

In precise terms. Credits are held at the organization level; member usage debits the organization balance.

Also called: team credits, pooled credits

See also: organization, credit

Premium workspaces

Set-up-for-you products built on extraction.

Approval

A step where a person signs off on a document before it goes any further.

In precise terms. A review gate on a document, routed to the responsible party, with reminders for outstanding items.

Also called: sign-off, review step, authorisation

See also: department, budget, workspace

Budget

A monthly spending limit for a department, with visibility of where it stands as documents come in.

In precise terms. A per-department monthly amount. Spend is stamped as documents are processed and reported in real time against the limit.

Also called: spending limit, allowance

See also: department, approval, workspace

Connector

A bespoke link to a system that has no ready-made integration — typically an in-house or industry-specific tool. Built with you.

In precise terms. A configurable external system connection, testable independently of a parser, usable by routines.

Also called: custom integration, bespoke integration

See also: routine, integration, workspace

Department

A part of the business that documents and spending can be attributed to, each with someone responsible for it.

In precise terms. An organization-scoped grouping with an assigned head. Documents are stamped to a department for reporting and approval routing.

Also called: cost centre, team, division

See also: budget, approval, workspace

Routine

An automated job that runs on a schedule or on a trigger and does something with your documents without anyone pressing a button.

In precise terms. A scheduled or triggered automation scoped to a parser, with its own run history.

Also called: automation, scheduled job, workflow

See also: workspace, connector

WorkspaceIn the app: The workspace switcher, when one has been provisioned for your organization.

A complete product for one business process, built on top of extraction — not just a parser with a nicer screen. Workspaces are set up and tailored with you rather than switched on yourself.

In precise terms. A distinct application shell with its own navigation, objects, and rules. Extraction is a component inside it, not the surface. Provisioned per organization.

Also called: app, module, solution

See also: organization, department, budget, routine

Something here wrong or missing? Tell us — we treat it as a bug.