CIIFragments Studio is CII-accredited: recover up to 20% of your software development spendLearn more

API integration for Sellsy

We build your Sellsy connector

We wire Sellsy into your SaaS: the configurator pushes the quote, a paid invoice opens access, the subscription updates the third party. Sales and product share the same file, with no double entry.

  • Senior product team
  • CRM and invoicing connectors in production
  • from scoping to monitoring
In short

Why integrate Sellsy into your application and what can be connected to Sellsy?

Sellsy is a French CRM and commercial management tool (quotes, invoices, third parties, sales). You integrate it so it lives in your platform: configurator pushing the quote, paid invoice opening product access, subscription updating the third party, support and sales on the same file. No re-entry between the business tool and Sellsy. The work is document/VAT mapping, SIRET anti-dupe and reconciliation, because Sellsy webhooks do not retry.

Use cases

What Sellsy changes in your platform

01

The configurator pushes the quote

A Sellsy estimate, dunning and PDF stay in Sellsy. Sales does not retype the product lines.

02

A paid invoice opens access

A paid invoice opens product access. No reconciliation spreadsheet. A catch-up recovers the missed event.

03

The subscription updates the third party

Plan, MRR, renewal date pushed from the product. Sales filters at-risk accounts without a CSV export.

04

Support and sales see the same file

companies deduplicated by SIRET. Dunning, credit notes and tickets leave from the same third party, not two parallel bases.

For you

What it changes in your product

Engineering in service of a measurable outcome: configurator → quote, payment → access, one shared truth.

Sellsy stays the commercial source

Quotes, invoices, dunning and PDFs live in Sellsy. Your application stays the business tool. Nobody has to switch software.

Payment opens access, even if a notification is lost

A paid invoice provisions the account. A retry queue catches the missed event: the customer does not wait for a manual follow-up.

The connector does not die with a sales rep

Technical access is not tied to a seller's seat. When someone leaves, the quote → invoice → access flow keeps running.

Ready for e-invoicing

Legal mentions, VAT and sale type are scoped before the first invoice write. You avoid discovering the gap on reform day.

Method

How we ship your Sellsy connector

01

Scoping

Where Sellsy enters your product: configurator, payment, subscription, support. Personal vs Private/Public, technical collaborator, scopes, e-invoicing reform.

02

Mapping

Third parties, lines, VAT, sale_type, custom idempotence field. This is the step that decides success.

03

Development and testing

OAuth, 3600 s refresh, SHA-1 signature, async processing, reconciliation. Testing on a sandbox account, not the production CRM.

04

Monitoring

Alert on invalid signature, catch-up job, refresh in a vault. You know a flow is broken before your sales team does.

The API

What the API brings to your platform

Third parties and catalogue
companies, individuals, items, staffs. Dedicated search on documents. A unique SIRET avoids dunning duplicates.
Sales documents
estimates, invoices, orders, deliveries, credit-notes, attached payments, subscriptions. Search per document type.
HTTP and Slack webhooks
Admin only. Broad relatedtype (third, estimate, invoice, project, ticket…). Form-urlencoded body, SHA-1 signature.
Accounting and e-invoicing
Exposed journal, sale_type on sales documents, reform preferences. Mapping to do before the first POST /invoices.
Glossary

The vocabulary of a Sellsy integration

Personal, Private, Public
Three v2 API access types. Personal: client credentials, one account. Private and Public: authorization code + PKCE, for an app. Scopes are ticked one by one.
Linked collaborator
Token privilege follows that collaborator. If they are disabled, tokens die. Dedicated service account.
third
Client, prospect or supplier company in webhooks. On the v2 API: companies / individuals.
X-Webhook-Signature
sha1(sign_key + raw body), not HMAC-SHA256. The body must stay form-urlencoded, not re-parsed.
No retry
The webhook does not wait for a response and does not handle errors. Downtime = dropped event. API reconciliation is mandatory.
sale_type
Sales-document field tied to the 2026 e-invoicing reform. To map before the first POST /invoices, not after.
Good to know

The real constraints of a Sellsy integration

01

The webhook drops the event

No retry, no wait for 2xx. A 30-second downtime means the event is lost. API reconciliation is not a safety net, it is the design.

02

The token dies with the collaborator

Technical admin account, minimal scopes, a procedure if the holder leaves. Client credentials are reserved for Personal access, not a multi-client app.

03

SHA-1 signature on the raw body

X-Webhook-Signature = SHA1(SIGN_KEY + BODY). Compare with hash_equals. A body re-parsed as JSON breaks the signature: keep the raw form-urlencoded.

04

The tab still says beta

In March 2026 the UI still says API V2 (beta) while the changelog is long and v1 is being deprecated. We scope the version with Sellsy before a stability guarantee.

Compare

Sellsy or HubSpot, and what it implies

Sellsy joins CRM and invoicing. HubSpot joins CRM and marketing. The choice follows whichever tool you already run, rarely the technology.

CriterionSellsyThis pageHubSpotMarketing CRM
ScopeCRM plus quotes, invoices, ordersCRM plus marketing, tickets, workflows
APIREST v2, portal inside the productPublic REST, batch writes of 100
AuthenticationOAuth Personal / Private / Public, PKCEPrivate app or public OAuth app
Real timeWebhooks with no retry, SHA-1 signaturev4 webhooks signed HMAC, retries
E-invoicingsale_type, mentions, 2026 topicOutside the core, often another tool
Integration effortMedium, trap = webhooks and collaborator tokenLow to medium, trap = quota and marketing contacts
The right caseA French SME, quotes and invoices in the CRMA SaaS that wants inbound, workflows and a product CRM

We claim no Sellsy partnership and no marketplace listing: we build on the documented v2 API.

Our expertise

What we measure on a Sellsy project

15 d
first Sellsy flow in production
0
dropped webhook event without catch-up
3600 s
refresh token, rotating, in a vault
4
senior developers on the project

We combine Sellsy with

The stack that surrounds Sellsy on our projects.

  • Stripe
  • Pennylane
  • n8n
  • PostgreSQL
  • Node.js
FAQ

Sellsy integration: your questions

We wire it into your product touchpoints: configurator, payment, subscription, support. You create a v2 access in the Developer Portal: Personal for a single file (client credentials), Private or Public for an app (authorization code + PKCE). Technical collaborator account, minimal scopes. We map third parties and documents, verify X-Webhook-Signature on the raw body, ack quickly on our side (even though Sellsy does not wait), and reconcile through /invoices/search because events get dropped. The real difficulty is not the HTTP call, it is the retry Sellsy does not do and the e-invoicing mapping.

To roll out Sellsy and train the sales team, a Sellsy partner makes sense. To make Sellsy live in your platform (configurator → quote, payment → access), what counts is invoicing-connector experience: OAuth, webhooks with no retry, VAT, sale_type. We claim no partnership and no marketplace: we build on the documented v2 API, and we are glad to work with whoever already administers your account.

It depends on the number of documents, the direction of the flows and the state of the third-party directory. A quote pushed from a configurator costs far less than a full chain with an invoice portal, time tracking and journal export. The e-invoicing reform weighs on the mapping, not only on the legal calendar. We scope the perimeter up front and give a firm estimate.

They leave quickly, they are not reliable. Sellsy does not retry and does not wait for 2xx. A handler down for 30 seconds drops the event. We verify the SHA-1 signature, process asynchronously, and attach a reconciliation job on updated documents. Without that net, real time is too strong a word.

Yes: POST /v2/estimates, deduplicated third party, lines, VAT, sale_type. Idempotence through a persisted Sellsy id and a business key in a custom field. Test the line limit on a sandbox account: the changelog removed the spec limit while keeping a backend limit. We do not promise a 5,000-line quote without that test.

A Sellsy integration project?

Let's talk. 30 minutes to scope where Sellsy enters your platform (configurator, payment, subscription) and tell you honestly what is feasible.

Discuss my Sellsy project
Discuss my Sellsy project