What’s changing at Factuarea.
Releases, contract changes and tooling updates for your integration.
A terminated employee is read-only
Clocking in, assigning a schedule or an absence policy, approving an absence that runs past the termination date and inviting a terminated employee to the portal now return 422 with the employee_inactive subcode. The team summary lists every employee employed during the month, with or without a schedule.
Read updateUpdated endpoints7Preview
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/time-entries/clock-in | Clock in an employee |
POST/v1/companies/{company}/work-schedules/{schedule}/assign | Assign a schedule to an employee |
POST/v1/companies/{company}/absence-policies/{absence_policy}/assign | Assign a policy to employees |
Contracted seats, offer packages and the trial
The bill follows the seats you contract: creating an employee takes a free seat, reducing takes effect at renewal with no credit and you choose who is deactivated. Four new operations set and preview the seats, the REST API and MCP buy the missing seats on their own, offer packages keep their prices while their minimums hold, and the trial answers its own reason.
Read updateNew endpoints4Preview
| Endpoint | Description |
|---|---|
GET/v1/accounts/{account}/additional-nif-seats | Retrieve the additional tax ID seats |
PATCH/v1/accounts/{account}/additional-nif-seats | Set the contracted additional tax ID seats |
PATCH/v1/accounts/{account}/employee-seats | Set the contracted employee seats |
Updated endpoints98Preview
| Endpoint | Description |
|---|---|
POST/v1/accounts/{account}/nif-transfers/accept | Accept a tax ID transfer |
POST/v1/accounts/{account}/companies/activate | Activate several tax IDs of the account |
POST/v1/accounts/{account}/companies/{company}/activate | Activate a tax ID of the account |
Email each automatic invoice to the payer
Connected Stripe accounts accept email_invoice_to_payer, which emails every invoice Factuarea issues automatically to the address that comes with the charge. Three updated operations and one updated MCP tool.
Read updateUpdated endpoints3
| Endpoint | Description |
|---|---|
GET/v1/companies/{company}/connected-accounts | List connected Stripe accounts |
GET/v1/companies/{company}/connected-accounts/{account} | Retrieve a connected Stripe account |
PATCH/v1/companies/{company}/connected-accounts/{account} | Update a connected Stripe account |
Exemption cause coherence and recurring generation conflict
Three operations change: the invoice preview accepts an optional exemption_reason, saving or issuing an invoice with a VAT-free header cause and taxed lines answers 422 exemption_cause_contradicts_taxed_lines, and generating a recurring invoice can answer a retryable 409 recurring_presentation_activation_changed.
Read updateUpdated endpoints6Preview
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/pdf-template-previews | Create a PDF template preview |
POST/v1/companies/{company}/recurring-invoices/{recurring_invoice}/generate | Generate an invoice from a recurring template |
PATCH/v1/companies/{company}/invoices/{invoice} | Update an invoice |
PDF template library and structured invoices
Manage PDF templates and brand identities, choose the presentation of each document, prepare exact PDF artifacts, and carry payment schedules, references and DIR3 centres on invoices. Fifty new operations, the pdf_templates scopes and a pdf_output_state block on every document.
Read updateNew endpoints50Preview
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/pdf-commercial-identities/{identity}/archive | Archive a PDF commercial identity |
POST/v1/companies/{company}/pdf-templates/{template}/archive | Archive a PDF template |
GET/v1/companies/{company}/delivery-notes/{delivery_note}/presentation | Get the delivery-note presentation |
Updated endpoints137Preview
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/proformas/{proforma}/accept | Accept a proforma |
POST/v1/companies/{company}/quotes/{quote}/accept | Accept a quote |
POST/v1/companies/{company}/recurring-invoices/{recurring_invoice}/activate | Activate recurring invoice |
Control documents use the PDF template library
The PDF of the transport control document (DeCA) takes its design from the template library. New control documents default in PATCH /v1/companies/{company}/pdf-templates/defaults and in the MCP tool, and every version of the DeCA reports the design it was painted with in versions[].presentation.
Read updateUpdated endpoints15Preview
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/transport-documents/{transport_document}/cancel | Cancel a transport document |
POST/v1/companies/{company}/transport-documents/{transport_document}/close | Close a transport document |
GET/v1/companies/{company}/transport-documents | List all transport documents |
Control document templates have their own kind
PDF templates and their revisions report document_kind (commercial or transport-document). Create and duplicate accept it, the list filters by it, and the control documents default in PATCH /v1/companies/{company}/pdf-templates/defaults only accepts templates of the transport-document kind.
Read updateUpdated endpoints5Preview
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/pdf-templates | Create a PDF template |
POST/v1/companies/{company}/pdf-templates/{template}/duplicate | Duplicate a PDF template |
GET/v1/companies/{company}/pdf-templates | List PDF templates |
Layout options for PDF templates
PDF template configuration gains the schema_version 2 keys: header layout and logo side, lines table style and concept, legal footer, page density, font size per zone, highlight and surface colors, privacy text, general terms, optional block titles, the xl brand size and the total with tax column. Revisions report schema_version.
Read updateUpdated endpoints10Preview
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/pdf-templates | Create a PDF template |
POST/v1/companies/{company}/pdf-templates/{template}/revisions | Publish a PDF template revision |
POST/v1/companies/{company}/pdf-template-previews | Create a PDF template preview |
Personalization applies to the main template
For companies already on the PDF template library, PATCH /v1/companies/{company}/personalization and update_account_personalization apply the design and accent color to the main template, and personalization reads its effective values. The contract does not change; the new error is 409 pdf_main_template_required.
Read updateUpdated endpoints1
| Endpoint | Description |
|---|---|
PATCH/v1/companies/{company}/personalization | Update account personalization |
Stripe fees as expenses and a fuller payout breakdown
Connected Stripe accounts can record their monthly Stripe fees as an expense, payouts now break down every movement they settle, and expenses that self-assess their VAT no longer count it in the total. Nine operations updated, three new account fields, three new payout fields and a new connection method.
Read updateUpdated endpoints9Preview
| Endpoint | Description |
|---|---|
GET/v1/companies/{company}/connected-accounts | List connected Stripe accounts |
GET/v1/companies/{company}/connected-accounts/{account} | Retrieve a connected Stripe account |
PATCH/v1/companies/{company}/connected-accounts/{account} | Update a connected Stripe account |
People with operate access can be assigned tasks
The user list and the current user now include people of other accounts who reach the company with operate access, and a task can be assigned to them. Three updated operations; no field changes.
Read updateUpdated endpoints3
| Endpoint | Description |
|---|---|
GET/v1/companies/{company}/users | List users |
GET/v1/companies/{company}/users/me | Retrieve the current user |
POST/v1/companies/{company}/tasks/{task}/assign | Assign a task |
A receipt for every payment
Payment receipts are issued per payment, partial payments included: the receipt operations of invoices and expenses accept an optional payment_id, and their MCP tools return the receipt number. Document PDFs show the issuer's IBAN only with bank payment methods and use a 9 pt base size by default. Two operations and two MCP tools updated.
Read updateUpdated endpoints2
| Endpoint | Description |
|---|---|
GET/v1/companies/{company}/invoices/{invoice}/payment-receipt | Download the receipt PDF of a payment |
GET/v1/companies/{company}/purchase-invoices/{purchase_invoice}/payment-receipt | Download the receipt PDF of an expense payment |
Counted units, weight by pieces and base unit replacement
Sell in packs, boxes or pieces over a product measured in kilos or litres, record the pieces on variable-weight lines, replace a product by one with a different base unit with a preview and an irreversible execution, and read the real unit in FacturaE and UBL. Two new operations, two MCP tools, the product.replaced event and new fields on products and document lines.
Read updateNew endpoints2
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/products/{product}/base-unit-replacement/preview | Preview a base unit replacement |
POST/v1/companies/{company}/products/{product}/base-unit-replacement | Replace a product by changing its base unit |
Updated endpoints103Preview
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/proformas/{proforma}/accept | Accept a proforma |
POST/v1/companies/{company}/quotes/{quote}/accept | Accept a quote |
POST/v1/companies/{company}/recurring-invoices/{recurring_invoice}/activate | Activate recurring invoice |
OAuth consent: account, level and permissions no longer granted
The MCP consent screen asks you to choose an account and a company, does not grant write access with View level or the permissions of modules blocked in Test, and the request expires after 5 minutes.
Read updateProvisioning preview and account details
One new operation, the preview of what a new managed account would cost, new fields on companies, tax ID transfers, managed accounts, plan changes, bulk imports and the consolidated workforce, and a voucher expiry that is now always returned on reissue.
Read updateNew endpoints1
| Endpoint | Description |
|---|---|
GET/v1/accounts/provisioning-preview | Preview the provisioning of a managed account |
Updated endpoints22Preview
| Endpoint | Description |
|---|---|
GET/v1/accounts/{account}/companies | List the tax IDs of your account |
GET/v1/accounts/{account}/companies/{company} | Retrieve a tax ID of the account |
POST/v1/accounts/{account}/companies | Register a tax ID in the account |
Transport control document (DeCA) and transport weight
New transport_documents resource with 17 endpoints to issue, modify, share and keep the Spanish digital control document for road freight, mandatory from 5 October 2026; 15 MCP tools, 10 transport_document.* events, 24 error codes and gross transport weight on products, variants, presentations and delivery notes.
Read updateNew endpoints17Preview
| Endpoint | Description |
|---|---|
GET/v1/companies/{company}/transport-documents | List all transport documents |
GET/v1/companies/{company}/transport-documents/statuses | List transport document statuses |
GET/v1/companies/{company}/transport-documents/{transport_document} | Retrieve a transport document |
Updated endpoints21Preview
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/products | Create a product |
PATCH/v1/companies/{company}/products/{product} | Update a product |
GET/v1/companies/{company}/products/{product} | Retrieve a product |
Team, keys and logs on the account axis
One new operation, the daily usage of an API key, and new fields on API keys, members, invitations, request logs and Stripe Connect return domains, plus the correction to reactivating a disabled account webhook endpoint.
Read updateNew endpoints1
| Endpoint | Description |
|---|---|
GET/v1/accounts/{account}/api-keys/{api_key}/usage | Retrieve the daily usage of an API key |
Updated endpoints19Preview
| Endpoint | Description |
|---|---|
GET/v1/accounts/{account}/api-keys | List your API keys |
GET/v1/accounts/{account}/api-keys/{api_key} | Retrieve an API key |
POST/v1/accounts/{account}/api-keys | Create an API key |
Refunds and net amount of non-invoiced charges
Non-invoiced Stripe charges carry their refunds and the net amount the merchant keeps, can be filtered by date, and travel to the accountant in the quarterly package as a CSV. Four updated operations and three updated MCP tools.
Read updateUpdated endpoints4Preview
| Endpoint | Description |
|---|---|
GET/v1/companies/{company}/connected-accounts/{account}/non-invoiced-charges | List non-invoiced charges of a connected Stripe account |
GET/v1/companies/{company}/invoices/quarterly/available-quarters | List quarters to export |
POST/v1/companies/{company}/invoices/quarterly/download-zip | Generate quarterly ZIP archive |
Company-owned taxes
Create, edit and delete your own taxes next to the read-only Factuarea catalog, tell them apart with the new ownership field, and set defaults for your company only. Two new MCP tools, a new OAuth scope and two new error codes.
Read updateUpdated endpoints14Preview
| Endpoint | Description |
|---|---|
GET/v1/companies/{company}/taxes | List all taxes |
POST/v1/companies/{company}/taxes | Create a tax |
GET/v1/companies/{company}/taxes/{tax} | Retrieve a tax |
Configurable note on automatic invoices
Connected accounts and stores accept an invoice_note that Factuarea writes in the notes of the invoices it issues automatically, and those invoices are due 30 days after issue by default. Seven updated operations and two updated MCP tools.
Read updateUpdated endpoints7Preview
| Endpoint | Description |
|---|---|
GET/v1/companies/{company}/connected-accounts | List connected Stripe accounts |
GET/v1/companies/{company}/connected-accounts/{account} | Retrieve a connected Stripe account |
PATCH/v1/companies/{company}/connected-accounts/{account} | Update a connected Stripe account |
Employee seats charged whenever the plan bills
Creating or reactivating an employee charges a seat whenever the plan bills, including past_due and granted plans; trial employees are deactivated when billing starts, a new 503 applies when batches are enabled, and seat offers on an active subscription start at the next renewal. Eight updated operations.
Read updateUpdated endpoints8Preview
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/employees | Create an employee |
POST/v1/companies/{company}/employees/{employee}/reactivate | Reactivate an employee |
POST/v1/companies/{company}/employee-seat-offer-redemptions | Prepare an employee-seat offer redemption |
Account contract adjustments
Fixes to the v1 contract after the review of 6 October, durable purchases moved to the company axis, and the final shape of managed accounts, additional tax IDs and the user cap.
Read updateUpdated endpoints45Preview
| Endpoint | Description |
|---|---|
GET/v1/companies/{company}/employee-batches | List an employee batch |
GET/v1/companies/{company}/employee-batches/{id} | Retrieve an employee batch |
POST/v1/companies/{company}/employee-batches | Prepare an employee batch |
Existing Stripe accounts and charge rules
Connect a Stripe account you already have, decide per account which charges are invoiced and which are not, and read the charges that were left out. Six new operations, three new fields on connected accounts and five new inbox reasons.
Read updateNew endpoints6Preview
| Endpoint | Description |
|---|---|
GET/v1/companies/{company}/connected-accounts/{account}/charge-rules | List charge treatment rules of a connected Stripe account |
POST/v1/companies/{company}/connected-accounts/{account}/charge-rules | Create a charge treatment rule |
PUT/v1/companies/{company}/connected-accounts/{account}/charge-rules/order | Reorder the charge treatment rules |
Updated endpoints3
| Endpoint | Description |
|---|---|
GET/v1/companies/{company}/connected-accounts | List connected Stripe accounts |
GET/v1/companies/{company}/connected-accounts/{account} | Retrieve a connected Stripe account |
PATCH/v1/companies/{company}/connected-accounts/{account} | Update a connected Stripe account |
Recent operations join the axis
The operations released since 21 September — projects and tasks, the purchase scanner, notifications, users, VeriFactu representation, issuing without sending and series editing — live under /v1/companies/{company}, and eight partial updates move from PUT to PATCH.
Read updateUpdated endpoints113Preview
| Endpoint | Description |
|---|---|
GET/v1/companies/{company}/agenda | List agenda items |
POST/v1/companies/{company}/contacts/import | Import contacts |
GET/v1/companies/{company}/contacts/import/template | Download the contact import template |
Stripe Connect in white label
Four new operations and four new error codes to let your clients connect their own Stripe account from your product, with return domains you control.
Read updateNew endpoints4Preview
| Endpoint | Description |
|---|---|
POST/v1/accounts/{account}/connected-accounts/return-domains | Add a Stripe Connect return domain |
DEL/v1/accounts/{account}/connected-accounts/return-domains/{return_domain} | Remove a Stripe Connect return domain |
GET/v1/accounts/{account}/connected-accounts/return-domains | List Stripe Connect return domains |
Employee batches and private seat offers
New durable operations for employee batches and company-specific employee or managed-company seat offers.
Read updateNew endpoints18Preview
| Endpoint | Description |
|---|---|
GET/v1/companies/{company}/employee-batches | List an employee batch |
POST/v1/companies/{company}/employee-batches | Prepare an employee batch |
GET/v1/companies/{company}/employee-batches/{id} | Retrieve an employee batch |
Updated endpoints4Preview
| Endpoint | Description |
|---|---|
GET/v1/accounts/{account}/companies/seat-charge-preview | Preview the seat charge of adding a company |
POST/v1/accounts/{account}/companies | Register a tax ID in the account |
POST/v1/accounts/{account}/companies/{company}/activate | Activate a tax ID of the account |
Import results, task import retries and new read fields
Contact imports report updated rows, warnings and why each row was skipped; task imports retry safely; invoices expose origin; quotes and proformas expose operation_regime.
Read updateUpdated endpoints48Preview
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/contacts/import/preview | Preview a contact import |
POST/v1/companies/{company}/contacts/import | Import contacts |
GET/v1/companies/{company}/contacts/imports/{id} | Retrieve a contact import |
Fill in contact templates before importing
Preview empty templates with their columns intact and handle empty_import before applying an import.
Read updateUpdated endpoints2
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/contacts/import/preview | Preview a contact import |
POST/v1/companies/{company}/contacts/import | Import contacts |
Edit numbering series
Update a series with PUT /v1/series/{series} and the MCP tool update_series, under the same fiscal guards as the web app.
Read updateNew endpoints1
| Endpoint | Description |
|---|---|
PATCH/v1/companies/{company}/series/{series} | Update a series |
Updated endpoints3
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/series | Create a series |
GET/v1/companies/{company}/series/{series} | Retrieve a series |
POST/v1/companies/{company}/series/{series}/archive | Archive a series |
Invoice activity: AEAT results, email and payments
The invoice activity timeline adds the result of every AEAT submission, undelivered emails, the first daily visit to the public link and payment events, each with an exact metadata contract.
Read updateUpdated endpoints8Preview
| Endpoint | Description |
|---|---|
GET/v1/companies/{company}/invoices/{invoice}/activities | List invoice activity |
GET/v1/companies/{company}/invoices/{invoice}/verifactu | Retrieve invoice VeriFactu record |
POST/v1/companies/{company}/invoices/{invoice}/verifactu | Force-create VeriFactu record for invoice |
Contact import tracking and reliable row results
Preview contact files, track confirmed row results and download authorized error reports.
Read updateNew endpoints2
| Endpoint | Description |
|---|---|
GET/v1/companies/{company}/contacts/imports/{id} | Retrieve a contact import |
GET/v1/companies/{company}/contacts/imports/{id}/errors.csv | Download contact import errors |
Updated endpoints2
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/contacts/import/preview | Preview a contact import |
POST/v1/companies/{company}/contacts/import | Import contacts |
Unattended checkout invoicing
A paid simplified invoice from a kiosk in one idempotent call, VeriFactu remission through Factuarea, subsanación of accepted records and per-line errors. Three breaking changes: a line without a rate no longer takes 21 %, issuing is rejected when the record does not fit the AEAT schema, and in NO VERI*FACTU mode it needs a usable certificate. POST /v1/verifactu/records/{id}/retry no longer answers max_retries_exceeded.
Read updateNew endpoints4Preview
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/verifactu/records/retry-blocked | Retry every blocked VeriFactu record |
GET/v1/companies/{company}/verifactu/representation | Retrieve the active representation |
POST/v1/companies/{company}/verifactu/representation | Register a representation |
Updated endpoints32Preview
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/invoices | Create an invoice |
PATCH/v1/companies/{company}/invoices/{invoice} | Update an invoice |
POST/v1/companies/{company}/invoices/bulk-create | Bulk create invoices |
MCP: clearer errors, ChatGPT sign-in and steadier tool lists
MCP tools report business errors again, OAuth accepts private_key_jwt for clients like ChatGPT, tools/list cursors last 24 hours and four old contact tool names are retired on 15 November 2026.
Read updatePlan ladder: Esencial, Profesional, Avanzado and Enterprise
New commercial names and Avanzado in the account contract, with API capacity included in each plan.
Read updateUpdated endpoints2
| Endpoint | Description |
|---|---|
GET/v1/me | Retrieve the calling credential |
GET/v1/companies/{company}/billing | Retrieve account billing details |
One breaking window: axis and payload
Company and account resources move into the URL, amounts travel as decimal strings, the collection date is renamed, X-Active-Profile is rejected and the account becomes the customer. Every operation the window touches — 519 of them — listed resource by resource.
Read updateNew endpoints16Preview
| Endpoint | Description |
|---|---|
DEL/v1/accounts/{account}/invitations/{invitation} | Revoke an account invitation |
POST/v1/accounts/{account}/invitations | Send an account invitation |
GET/v1/accounts/{account}/invitations | List account invitations |
Updated endpoints455Preview
| Endpoint | Description |
|---|---|
GET/v1/companies/{company}/absence-balances | List all absence balances |
GET/v1/companies/{company}/absence-balances/{absence_balance} | Retrieve an absence balance |
GET/v1/companies/{company}/absence-calendar | Get the team absence calendar |
Account model
Accounts, tax IDs, members, granted access, managed accounts, bulk import, account webhooks and the operations and fields they add or rename.
Read updateNew endpoints33Preview
| Endpoint | Description |
|---|---|
PATCH/v1/accounts/{account}/api-keys/{api_key}/nif-scope | Change the tax IDs an API key reaches |
GET/v1/accounts/{account}/invitations/{invitation} | Retrieve an account invitation |
DEL/v1/accounts/{account}/members/{member}/grants/{company} | Revoke an account member grant |
Updated endpoints39Preview
| Endpoint | Description |
|---|---|
POST/v1/accounts/{account}/api-keys | Create an API key |
GET/v1/accounts/{account}/api-keys | List your API keys |
POST/v1/accounts/{account}/api-keys/{api_key}/revoke | Revoke an API key |
Active automation rule limit
The active-rule cap, the activation error and active_rules usage in API and MCP.
Read updateUpdated endpoints2
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/automations/rules/{rule}/activate | Activate an automation rule |
GET/v1/companies/{company}/automations/usage | Retrieve automation usage |
Annual document limit across API and MCP
The annual document limit, the affected API operations (14 in total), MCP errors and automatic issuance.
Read updateUpdated endpoints14Preview
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/invoices | Create an invoice |
POST/v1/companies/{company}/invoices/{invoice}/duplicate | Duplicate an invoice |
POST/v1/companies/{company}/invoices/{invoice}/corrective | Generate corrective invoice |
Account usage: generic error message
The storage_quota_exceeded message and guidance now direct you to support without usage figures.
Read updateUpdated endpoints3
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/purchase-invoices/{purchase_invoice}/attach-file | Attach a file to an expense |
POST/v1/companies/{company}/verifactu/certificates | Upload a company certificate |
POST/v1/companies/{company}/delivery-notes/{delivery_note}/sign | Sign a delivery note |
Tasks refinements
Tighter limits and clearer errors in Projects and Tasks: a 400,000-character task description, a 99,999,999.99 hourly rate, entity links that respect scopes, the task id in notifications, deletes blocked by invoiced hours and idempotent time invoicing. users:read becomes a sensitive scope.
Read updateUpdated endpoints15Preview
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/tasks | Create a task |
PATCH/v1/companies/{company}/tasks/{task} | Update a task |
POST/v1/companies/{company}/tasks/bulk-delete | Bulk delete tasks |
Projects and tasks
The task module reaches the API: projects with their board, tasks, labels, timers, users, notifications and the agenda — 80 new endpoints, 21 events, 80 MCP tools and four automation actions.
Read updateNew endpoints80Preview
| Endpoint | Description |
|---|---|
GET/v1/companies/{company}/projects | List projects |
POST/v1/companies/{company}/projects | Create a project |
GET/v1/companies/{company}/projects/{project} | Retrieve a project |
Purchase scans: unavailable source error
Retry, convert and restore now identify when the original scan file is no longer retained.
Read updateUpdated endpoints3
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/purchase-scans/{purchase_scan}/retry | Retry a failed purchase scan |
POST/v1/companies/{company}/purchase-scans/{purchase_scan}/convert | Create the expense from a scan |
POST/v1/companies/{company}/purchase-scans/{purchase_scan}/restore | Restore an archived purchase scan |
Expenses and Invoices: new product names
Purchase invoices are now Expenses and sales invoices are Invoices. Existing integrations keep the same interfaces.
Read updateUpdated endpoints45Preview
| Endpoint | Description |
|---|---|
POST/v1/accounts/{account}/companies/{company}/activate | Activate a tax ID of the account |
POST/v1/accounts/{account}/companies/activate | Activate several tax IDs of the account |
POST/v1/accounts/{account}/companies | Register a tax ID in the account |
Issued is not sent: API version 2026-10-01
Invoices separate issuing from delivering. Opt-in version 2026-10-01 publishes status issued with issued_at, is_sent and sent_via; new POST /v1/invoices/{invoice}/issue; mark-sent records a manual delivery from that version on; new events invoice.issued, invoice.marked_sent and invoice.unsent, with invoice.sent kept as a deprecated alias; webhook payloads versioned per endpoint; recurring invoices gain generation_mode. The default version does not change.
Read updateNew endpoints1
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/invoices/{invoice}/issue | Issue an invoice |
Updated endpoints20Preview
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/invoices/{invoice}/mark-sent | Mark an invoice as sent |
POST/v1/companies/{company}/invoices/{invoice}/unsend | Unsend an invoice |
POST/v1/companies/{company}/invoices/{invoice}/send | Send invoice by email |
Time tracking follows the employment period
Breaking change: clocking before an employee's hire date or after their termination date now answers 422 with subcode clocking_outside_employment_period. Daily balances add is_unscheduled and is_outside_employment, the monthly sheet and the team summary add a to_date block for the closed days, the employee schedule accepts a date, hire_date becomes editable, and reassigning or unassigning a schedule that has not started yet cancels it.
Read updateUpdated endpoints13Preview
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/time-entries/clock-in | Clock in an employee |
POST/v1/companies/{company}/time-entries/manual | Record a manual retroactive entry |
POST/v1/companies/{company}/time-corrections | Request a time entry correction |
Purchase scans: bounded history, deferred OCR and supplier facet
The scan detail now returns the 50 most recent attempts and audit events with their totals, scans waiting for the daily OCR quota say so, and the stats add a per-supplier facet.
Read updateUpdated endpoints3
| Endpoint | Description |
|---|---|
GET/v1/companies/{company}/purchase-scans | List purchase scans |
GET/v1/companies/{company}/purchase-scans/{purchase_scan} | Retrieve a purchase scan |
GET/v1/companies/{company}/purchase-scans/stats | Get purchase scanner stats |
Purchase scanner: public API and MCP
Upload, review, resolve duplicates and convert purchase scans through the public API and MCP. Thirteen operations cover the full flow, the scanner mailbox and expense categories.
Read updateNew endpoints13Preview
| Endpoint | Description |
|---|---|
GET/v1/companies/{company}/purchase-invoices/expense-categories | List expense categories |
GET/v1/companies/{company}/purchase-scan-emails | List purchase scanner emails |
DEL/v1/companies/{company}/purchase-scans/{purchase_scan} | Archive a purchase scan |
Updated endpoints2
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/purchase-invoices | Create an expense |
PATCH/v1/companies/{company}/purchase-invoices/{purchase_invoice} | Update an expense |
Pause and resume recurring invoices in bulk
New operation POST /v1/recurring_invoices/bulk-status moves up to 50 recurring invoices to active or paused with partial success, mirrored by the MCP tool bulk_change_recurring_invoice_status. Resuming a completed recurrence now answers 422 recurring_invoice_completed_cannot_resume.
Read updateNew endpoints1
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/recurring-invoices/bulk-status | Bulk change recurring invoice status |
Updated endpoints2
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/recurring-invoices/{recurring_invoice}/resume | Resume recurring invoice |
POST/v1/companies/{company}/recurring-invoices/{recurring_invoice}/activate | Activate recurring invoice |
Delete and archive contacts
Breaking change: DELETE /v1/contacts/{id} and POST /v1/contacts/bulk-delete now delete instead of archiving, and the deletion cannot be undone through the API. Archiving moves to POST /v1/contacts/{id}/archive, is always allowed and stays reversible. A contact.deleted webhook event is published and the contact_has_commercial_references subcode disappears.
Read updateNew endpoints1
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/contacts/{contact}/archive | Archive a contact |
Updated endpoints3
| Endpoint | Description |
|---|---|
DEL/v1/companies/{company}/contacts/{contact} | Delete a contact |
POST/v1/companies/{company}/contacts/bulk-delete | Delete contacts in bulk |
POST/v1/companies/{company}/contacts/bulk/archive | Archive contacts in bulk |
Measured purchase lines
Purchase invoice lines now record the packages received, the unit the supplier cost applies to and the real measured quantity. The contract adds a measurement block, persists line discounts, resolves the cost from the supplier offer and duplicates a purchase from an authorised source.
Read updateUpdated endpoints4Preview
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/purchase-invoices | Create an expense |
PATCH/v1/companies/{company}/purchase-invoices/{purchase_invoice} | Update an expense |
GET/v1/companies/{company}/purchase-invoices/{purchase_invoice} | Retrieve an expense |
PDF capabilities on the account
The Account resource and the templates endpoint expose a read-only capabilities block: what the plan allows in document branding, which templates can be set and which plan unlocks the editor. Personalization updates outside the plan now return 403.
Read updateUpdated endpoints3
| Endpoint | Description |
|---|---|
GET/v1/me | Retrieve the calling credential |
GET/v1/companies/{company}/personalization/templates | List available personalization templates |
PATCH/v1/companies/{company}/personalization | Update account personalization |
Canonical contacts API
Manage one identity with cumulative customer, supplier and lead roles. The canonical API now covers bulk creation and archival, direct identifier lookup, AEAT census verification, statistics, activity and imports.
Read updateNew endpoints26Preview
| Endpoint | Description |
|---|---|
GET/v1/companies/{company}/contacts | List contacts |
POST/v1/companies/{company}/contacts | Create a contact |
GET/v1/companies/{company}/contacts/options | List contact filter options |
Stores, MCP and complete response examples
Connect WooCommerce and Shopify stores, work with order snapshots and use the updated MCP transport. Every documented response now has an explicit example or the appropriate download representation.
Read updateNew endpoints7Preview
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/stores | Connect a store |
GET/v1/companies/{company}/stores | List connected stores |
DEL/v1/companies/{company}/stores/{store} | Disconnect a store |
Configurable catalog selections and exact prices
Configure which product combinations can be sold and resolve exact negotiated prices. The API adds selection lookup, stock auditing and bulk price resolution.
Read updateNew endpoints8Preview
| Endpoint | Description |
|---|---|
GET/v1/companies/{company}/products/{product}/configurations | List product commercial combinations |
GET/v1/companies/{company}/products/{product}/options | List product option groups |
GET/v1/companies/{company}/products/{product}/stock-movements | List stock movements of a product |
v1.13.0 — Contract parity
Product-write semantics, expanded OAuth consent, plan-derived API capacity and multiline PDF notes.
Read updateUpdated endpoints2
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/products | Create a product |
PATCH/v1/companies/{company}/products/{product} | Update a product |
Complete product catalog and price-list coverage
Manage product presentations, variants, supplier offers and price lists. Documents keep price snapshots and make repricing explicit.
Read updateNew endpoints23Preview
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/price-lists | Create a price list |
GET/v1/companies/{company}/price-lists | List price lists |
POST/v1/companies/{company}/products/{product}/presentations | Create a product presentation |
Bulk-send MCP tools now enforce the 200-id batch limit
MCP bulk-send tools now reject batches larger than 200 IDs with a clear error. REST behavior is unchanged.
Read updateAutomations
Build event-driven rules, preview their effects and inspect each execution. Eighteen operations cover rules, versions, runs, replay and usage.
Read updateNew endpoints18Preview
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/automations/rules/{rule}/activate | Activate an automation rule |
POST/v1/companies/{company}/automations/rules | Create an automation rule |
GET/v1/companies/{company}/automations/rules | List your automation rules |
Tax reports: working workbook and agent tools
Tax reports use an Excel working workbook and expose nine MCP tools. Existing report endpoints now document their supported output formats precisely.
Read updateUpdated endpoints4Preview
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/tax-reports/130 | Generate Modelo 130 |
POST/v1/companies/{company}/tax-reports/303 | Generate Modelo 303 |
POST/v1/companies/{company}/tax-reports/347 | Generate Modelo 347 |
Payment reversal
Reverse a payment while preserving the original record and its audit trail. The invoice balance reflects the reversal and integrations receive the corresponding event.
Read updateNew endpoints1
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/invoices/{invoice}/payments/{payment}/reversal | Revert an invoice payment |
Time tracking (control horario)
Manage work schedules, time entries, absences, balances and presence through the API and MCP, using the same permission model as the rest of the platform.
Read updateAPI and MCP included in every plan
Public API and MCP access are included in every Factuarea plan. Request limits follow the active plan and access is also available during the trial.
Read updatePlatform launch
The public platform brings together REST API v1, official TypeScript and PHP SDKs, the CLI and MCP, with an isolated sandbox for testing integrations.
Read update