Integration

2nodoc integration

2nodoc is a French and Belgian invoicing and e-invoicing platform (RFE, Factur-X, connected to the SuperPDP e-invoicing network). An agent can manage clients and products, create, update, convert and delete quotes and invoices, record purchase invoices, change an invoice's status, download its PDF or Factur-X file, email it to a recipient or issue it as a legal e-invoice through SuperPDP, check the e-invoicing connection, and answer received e-invoices (accept, reject, conditionally accept, suspend, dispute, payment initiated, payment received, complete), plus read, update and remove team users. Sending, issuing and answering e-invoices are acting writes with legal effect. Not included: creating team users (the answer carries the new user's temporary password), the e-invoice inbox and connected-company reads and the email send history (their answers are undocumented raw records). Authentication is an API token generated in the 2nodoc account settings, sent as a Bearer token; requests are rate-limited per subscription plan.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in 2nodoc.Built from the 37 2nodoc tools below, on the connection you add once.

What you can do with 2nodoc

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Each badge shows the default agent permission of an endpoint (allowed: an agent calls it without asking; ask first: you are asked before an agent calls it, when the agent or chat asks permission for sensitive actions; never: no agent may call it), which every user can change endpoint by endpoint in their credential settings.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Einvoice, 8 operations

  • accept_einvoiceAccept einvoicePOSTAgents: ask firstACCEPTS a received e-invoice: the acceptance status is sent to the supplier through the SuperPDP network. Acting write with legal effect. Returns success, message and the status event id.
  • complete_einvoiceComplete einvoicePOSTAgents: ask firstReports a SUSPENDED e-invoice you issued as COMPLETED (French status 209): the missing information or documents were provided. Sent on the SuperPDP network. Acting write with legal effect. Returns success and the status event id.
  • conditionally_accept_einvoiceConditionally accept einvoicePOSTAgents: ask firstACCEPTS a received e-invoice WITH CONDITIONS: the status, reason and conditions are sent to the supplier through the SuperPDP network. Acting write with legal effect. Returns success, message and the status event id.
  • dispute_einvoiceDispute einvoicePOSTAgents: ask firstOPENS A DISPUTE on a rejected e-invoice with a reason, through the SuperPDP network; the other party sees it. Acting write with legal effect. Returns success, message and the status event id.
  • download_einvoice_facturxDownload einvoice facturxGETAgents: ask firstDownloads the Factur-X file (PDF/A-3) of an e-invoice on the SuperPDP network, received or sent, returned as a stored file. Team members need the invoices read permission.
  • reject_einvoiceReject einvoicePOSTAgents: ask firstREJECTS (refuses) a received e-invoice with a reason: the refusal is sent to the supplier through the SuperPDP network. Acting write with legal effect. Returns success, message and the status event id.
  • send_invoice_einvoicingSend invoice einvoicingPOSTAgents: ask firstISSUES an invoice as a legal e-invoice through the SuperPDP e-invoicing platform (French e-invoicing compliance): the buyer receives it on the network. Acting write with legal effect. Check get_einvoicing_status first.
  • suspend_einvoiceSuspend einvoicePOSTAgents: ask firstSUSPENDS a received e-invoice with a reason (for example a missing document): the status is sent to the supplier through the SuperPDP network. Acting write with legal effect. Returns success, message and the status event id.

Invoice, 8 operations

  • create_invoiceCreate invoicePOSTAgents: ask firstCreates a quote or an invoice for a client, as a draft unless you pass status. The number is generated by type and year; buyer and seller details are filled from the client and your account when left out. Does not send anything.
  • delete_invoiceDelete invoiceDELETEAgents: ask firstDeletes an invoice or quote (a soft delete: the record is kept and list_invoices with include_deleted=true still shows it). Answers with no content.
  • download_invoice_facturxDownload invoice facturxGETAgents: ask firstDownloads an invoice as a Factur-X file (a PDF with the embedded structured invoice data), returned as a stored file. Available for PEPPOL-certified accounts only.
  • download_invoice_pdfDownload invoice pdfGETAgents: ask firstDownloads an invoice or quote as a PDF, returned as a stored file.
  • get_invoiceGet invoiceGETAgents: ask firstReturns one invoice or quote by its internal id (not its display number): status, dates, buyer and seller details, totals, e-invoicing status and every line.
  • list_invoicesList invoicesGETAgents: ask firstLists your invoices and quotes, newest first, with filters on type, status, client, invoice date range and a search on number and buyer name. Returns invoices (with lines and totals) plus total, skip and limit.
  • send_invoice_emailSend invoice emailPOSTAgents: ask firstSENDS an invoice or quote by email to the address you give, with its PDF or Factur-X attached, and sets its status to sent. Acting write with legal effect. Queued: the answer only confirms the email task was accepted. Quotes take pdf only.
  • update_invoiceUpdate invoicePATCHAgents: ask firstUpdates a draft or sent invoice or quote (paid and cancelled ones cannot change). invoice_type is required: read it with get_invoice first. Passing lines replaces all lines; totals are recomputed. Returns the updated document.

Product, 6 operations

  • create_productCreate productPOSTAgents: ask firstCreates a product (a catalog item with a unit price and VAT rate) to reuse in invoice lines. Returns the product with its id.
  • delete_productDelete productDELETEAgents: ask firstDeletes one of your own products (2nodoc's default products cannot be deleted).
  • get_productGet productGETAgents: ask firstReturns one product by id: name, description, unit price, unit, tax rate, reference, whether it is active and whether it is a 2nodoc default product.
  • list_productsList productsGETAgents: ask firstLists all active products: your own products and 2nodoc's default ones (is_default true). Each has a name, unit price, unit, tax rate and reference.
  • search_productsSearch productsGETAgents: ask firstSearches products by name, description or reference, among your own products and 2nodoc's default products. Returns a list of products with price, unit and tax rate.
  • update_productUpdate productPUTAgents: ask firstUpdates one of your own products (2nodoc's default products cannot be changed). Only the fields you pass change. Returns the updated product.

Client, 5 operations

  • create_clientCreate clientPOSTAgents: ask firstCreates a client (a business, a consumer or a public body) that invoices and quotes are addressed to. Returns the client with its id.
  • delete_clientDelete clientDELETEAgents: ask firstDeletes a client (a soft delete: 2nodoc keeps the record but hides it). Answers with no content.
  • get_clientGet clientGETAgents: ask firstReturns one client by id (personal data): type, name, email, address, SIRET, CBE and VAT numbers, reference, service codes and timestamps.
  • list_clientsList clientsGETAgents: ask firstLists your clients (personal data: names, emails, addresses, company numbers), 20 per page by default, with an optional search. Returns items plus total, page, page_size and total_pages.
  • update_clientUpdate clientPATCHAgents: ask firstUpdates a client. Only the fields you pass change; leave a field out to keep its current value. Returns the updated client.

Team user, 4 operations

  • delete_team_userDelete team userDELETEAgents: ask firstDELETES a team user: they lose access to your 2nodoc account. Answers with no content.
  • get_team_userGet team userGETAgents: ask firstReturns one team user (personal data): email, first and last name, role, permissions per area (invoices, quotes, clients, products, users, settings), whether active and last login.
  • list_team_usersList team usersGETAgents: ask firstLists the team users of your 2nodoc team (personal data: names, emails, last login), with their role, permissions and whether they are active. Paged, 20 per page by default.
  • update_team_userUpdate team userPATCHAgents: ask firstCHANGES a team user's access: role, permissions, active flag, name or email. Only the team owner or a team admin may call it. Only the fields you pass change. Returns the updated user.

Einvoice payment, 2 operations

  • initiate_einvoice_paymentInitiate einvoice paymentPOSTAgents: ask firstReports payment as initiated for an accepted e-invoice, a status the supplier sees on the SuperPDP network. Acting write with legal effect. Returns success, message and the status event id.
  • mark_einvoice_payment_receivedMark einvoice payment receivedPOSTAgents: ask firstMarks the payment of an e-invoice as RECEIVED, a status reported on the SuperPDP network (French e-invoicing payment status). Acting write with legal effect. Returns success, message and the status event id.

Einvoicing connection, 1 operation

  • get_einvoicing_statusGet einvoicing statusGETAgents: ask firstTells whether your 2nodoc account has an active connection to the SuperPDP e-invoicing platform: is_connected, company name and id, when it was connected and last used, token expiry and whether the token is valid.

Invoice status, 1 operation

  • change_invoice_statusChange invoice statusPATCHAgents: ask firstChanges an invoice's status: draft to sent, sent to paid or cancelled; paid and cancelled invoices cannot change. Only records the status, nothing is sent. Returns the updated invoice.

Purchase invoice, 1 operation

  • create_purchase_invoiceCreate purchase invoicePOSTAgents: ask firstRecords a purchase (supplier) invoice in 2nodoc from data extracted from a document (OCR), with its seller, buyer, totals and lines. Returns the stored invoice. Does not send anything.

Quote, 1 operation

  • convert_quote_to_invoiceConvert quote to invoicePOSTAgents: ask firstConverts a draft or sent quote into a new invoice with its own number, copying every detail and line; the quote's status becomes converted. Returns the new invoice. Does not send it.

Use 2nodoc from Claude Code, Cursor or Codex

Connect 2nodoc in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its 2nodoc operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect 2nodoc

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect 2nodoc once

    Add your 2nodoc connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

2nodoc integration FAQ

What can you do with the 2nodoc integration?

LiveContext exposes 37 operations on 2nodoc, covering einvoice, invoice, product and client.

Popular integrations

Browse the whole catalog