Workspace Settings
Workspace Settings provide administrative controls for your workspace. This page is accessible only to users with Admin or Owner roles.
Navigate to Workspace Settings in the sidebar. The page has up to seven tabs: General, People, Usage, Lifecycles, Workflows, Integrations, and API & AI Access. Lifecycles, Workflows and Integrations depend on what your workspace has switched on, so you may see fewer.
General tab
Workspace Name
Shows the current workspace name. This is a display-only field.
Delete Workspace
A warning section at the bottom allows you to request workspace deletion. Contact help@finpilo.com to permanently delete the workspace and all its data.
People tab
The People tab shows all users in your workspace.
Viewing users
The user list displays:
- First Name and Last Name — the user's name.
- Email — the user's email address.
- Role — Owner, Admin, or Member.
- Status — Active or Inactive.
Use the search field to filter users by email or name.
Inviting a new user
- Click the Invite User button in the top-right corner.
- Enter the user's details:
- First Name and Last Name — optional at invite time.
- Email Address (required) — the email address the user will sign in with.
- Role — select Admin or Member.
- If you selected Member, an additional Entity Access section appears. Select which entities this user can access. Members can only see documents and data for the entities assigned to them.
- Click Create to send the invitation.
The invited user receives an email with instructions to set up their account.
Editing a user
Click on any user in the list to open their detail page. You can change:
- First Name and Last Name.
- Email Address.
- Role — switch between Admin and Member. You cannot change your own role.
- Entity Access (Members only) — select or deselect the entities this user can access.
Click Save to apply changes.
Removing a user
On the user detail page, scroll to the Remove User section at the bottom. Click Remove User to remove the user from the workspace. They will lose access to all entities and documents. This action cannot be undone.
You cannot remove yourself.
Usage tab
The Usage tab shows your workspace's credit consumption and billing information.
Current Billing Period
At the top, a summary shows:
- Plan — your current subscription plan (e.g., Standard).
- Credits — credits used out of the total included in your plan (e.g., 15,916 / 50,000).
- Overage Credits — credits consumed beyond the included amount.
- Cost — the base subscription cost (e.g., €129.00).
- Period — the billing period dates (e.g., Apr 1 – Apr 30, 2026).
Credits consumed chart
A bar chart shows daily credit consumption over time. You can switch between three views:
- Current Month — the current billing period.
- Previous Month — the previous billing period.
- Custom Range — select a custom date range.
By Entity breakdown
A table below the chart shows credit consumption per entity:
- Entity — the entity name.
- Credits Used — the number of credits consumed.
- % of Total — the percentage of total consumption.
Lifecycles tab
The Lifecycles tab is where you manage Document Lifecycles — the statuses your documents move through and the steps between them. Documents keep the lifecycle they started on, so changes here apply to newly uploaded documents (see Document View).
A step's conditions can read the document's fields (partner, totals, line items) and its metadata — including how long the document has been at its current status. Pick Days in current status as a condition source to move a document on after a set time, for example "after 3 days here, move to Escalated". Timed moves happen on their own. Nobody has to open the document.
Workflows tab
The Workflows tab has two views. Library lists the workflows in your workspace — automations that run on your documents. This includes the Send to Accounting workflow, which sends validated documents to your accounting system. Open a workflow to see and change what it does. See Integrations for how the Send to Accounting workflow works and how to edit what it sends.
Runs lists everything that has run in the workspace in one place: workflow runs and the actions a status flow fired (an approval, an AI read, a send). Each row is tagged Workflow or Action and shows its name, the document it ran over (with a link straight to it, when there is one), its status, who started it, and when. Use the Name filter to narrow to one workflow or one action — the choices are grouped under Workflows and Actions — and the Started by filter to see one person's. An administrator can cancel a running workflow from here. An action ends when its document's status moves, so it has no cancel. Runs and actions on a document also appear on that document's Activity tab.
To branch on what a step decided, put the next step under that step's On
Creating a workflow
Admin or Owner role required.
- On the Library view, click New Workflow.
- Give it a name.
- Choose what starts it. A workflow can be started by hand, by a document meeting a condition, on a schedule, or by another system calling in (see "Starting a workflow from an outside system" below). A workflow can also be started by a step in a status flow.
- Add the steps it should take. Each step does one thing — send a request to another system, write a value onto the document, ask someone to approve it, create or update partner and dimension records, read the document with AI, wait, notify someone, or start another workflow. What is available depends on what your workspace has switched on.
- Give a step a condition if it should only run sometimes.
- Click Save. This keeps it as a draft — nothing runs yet.
- When it is ready, click Publish.
A new workflow shows as Not published until you publish it the first time, and it runs nothing until then.
Saving and publishing
Changing a workflow takes two steps, so that a workflow already in use keeps working while you rebuild it.
Save keeps your changes as a draft. Nothing about the running workflow changes — the version that was live stays live, and documents keep going through it exactly as before. The header tells you which version is still running, and the library marks the row Draft.
Publish makes your draft the version that runs from then on. This is also when Finpilo checks the workflow over, so a half-finished draft saves without complaint and any problems are reported when you publish.
A few things that follow from this:
- You can leave a draft sitting for as long as you like. Discard draft throws it away and leaves the running version untouched.
- A brand new workflow runs nothing until you publish it the first time. The library shows it as Not published.
- A copy made with the duplicate button also arrives as a draft, so duplicating a workflow that runs on a schedule never quietly starts a second one.
- Documents already going through the workflow finish on the version they started on. Publishing never changes anything mid-flight.
Pausing a workflow
A workflow on a schedule runs at the times you set. If Finpilo is unavailable when one is due, the run is not made up afterwards: when it comes back, the workflow runs once and carries on. A nightly sync that missed three nights syncs once, not three times, so anything that must not miss a day should ask for everything changed since it last succeeded rather than just yesterday.
Some workflows start on their own — on a schedule, when a document matches a condition, or when another system calls in. If one of those is misbehaving, use Pause on its row in the library.
While a workflow is paused, nothing new starts: its schedule stops, matching documents no longer set it off, and a system calling its address is told it is unavailable so it can try again later. Runs that were already going finish normally. Resume puts it back.
Pausing keeps the workflow and its history — it is the alternative to deleting one to make it stop.
What steps can do
- Update Field writes values when the step runs. Pick the destination — Document, Entity or Dimension Value (that is how you write a partner: it is a dimension value like any other). For a document, choose which record to write: This document, or Find it by a field when the workflow needs to name the document itself, for example by its accounting reference. A dimension value is always found by a field, inside the dimension you name. Then add the fields to write. Any document field can be written — texts, amounts, and dates alike. The status is the one exception: it only changes through a lifecycle move.
- Send HTTP Request can also carry the document's file — as a normal file attachment, or embedded in the JSON body as Base64 text, whichever the receiving system expects. Files up to 25 MB are sent.
- The data a step sends is edited in a code editor, with colors, matching brackets and a Format button that tidies the text. Type
@anywhere — in it, in a URL, or in a field value — to insert a document field, a field from data another system sent in, or an earlier step's result. - Test This Step on a Send HTTP Request step runs it for real against a document you pick and shows the reply — the response code and the body — right in the editor.
Sending a value the document does not hold
Most of the time a step sends what the document already has, picked with @. Sometimes the receiving system wants something else: your total for one cost centre only, the amount in cents, its own code instead of yours, or a date written its way.
A step can work these out itself, so nothing has to sit between Finpilo and the other system. It can add, subtract and multiply amounts, round them, join text together, pad a reference to a fixed width, write a date in the format the receiver expects, choose between two values, translate your code to theirs from a list you give, total up only the lines matching a condition, and fall back to a second value when the first is empty.
You do not have to write these by hand. Tell your AI assistant what the receiving system wants. It builds the mapping, shows you exactly what would be sent, and applies it only after you approve — see AI Assistants. Or write to help@finpilo.com and we will set it up with you.
Two things to know either way:
- Rounding is always spelled out. Anything that divides or rounds has to say how — nearest, up, or down. Finpilo will not guess, because a rounding rule chosen for you is a wrong amount posted to your accounts.
- If a value cannot be worked out, the step stops. A date it cannot read, a translation with no match, or a field name that does not exist stops the step and says so, rather than quietly sending a zero or an empty value. The one exception is a total over lines that match a condition: if no line matches, the honest answer is zero and zero is what gets sent — so check the number on a real document before publishing.
The written form is documented for whoever configures it in External API.
Starting a workflow from an outside system
Choose When an HTTP Request Is Received as the workflow's start. After saving, the editor shows the workflow's Inbound URL (POST) and Secret Key (X-Hook-Key), each with a copy button — give both to the external system, and it calls the URL with the key in the X-Hook-Key header. To use what they send in your steps, ask them to make one test call and click Check for a received call — what arrived is kept as a sample, and its fields appear in the @ picker.
The sending system can add an X-Idempotency-Key header. If it does, sending the same call twice returns the same result instead of doing the work again — so a system that retries because it did not see your reply cannot double up.
One call can carry a whole list — for example your accounting system's full partner register, up to 10 MB, which fits about ten thousand records. An Upsert Records step brings your partner list to that state: it creates what is missing, updates what changed, and leaves the rest alone — so sending the same list again is always safe. For bigger registers, send the list in several pages.
Integrations tab
The Integrations tab is where you connect Finpilo to external products such as your accounting software. It has three sub-tabs: Send To (the addresses documents go to), API Keys (the keys external systems call Finpilo with), and Logs (every call in and out).
See Integrations for full details on destinations, API keys, reading the logs, and how sending uses them.
API & AI Access tab
The API & AI Access tab controls whether AI assistants (such as Claude) and system integrations can work in your workspace, and what each role may do through them. It never changes what people can do inside the app itself.
Admin or Owner role required.
Turning API & AI access on
At the top of the tab is a single switch, Enable API & AI agent access for this workspace. It is off by default. Turn it on to let connected AI assistants and API integrations reach your workspace, and off to shut them out again at any time. Nothing outside Finpilo can reach your workspace while it is off.
See AI Assistants for connecting an assistant, and External API for system integrations.
What each role may do
Once access is on, a table lists each role — Member, Admin, Owner — against each permission: view documents, edit documents, change document status, view and edit master data, view history and usage, manage configuration, and manage users. Tick or clear a box to allow or restrict that permission for that role over the API and AI assistants, then click Save Changes.
A role can never be granted more here than it already has in the app. A permission the role does not hold in Finpilo shows as a dash, not a checkbox — this tab only ever narrows what a role can do through the API, it never widens it.