Skip to content
N1
CRM / Bitrix24 · subscriptions and plans · 1C

A CRM for a SaaS provider: subscriptions from the platform, client onboarding and 1C settlements

Client: E-signature SaaS service, NDA Category: CRM / Bitrix24 Stack: Bitrix24 (cloud, REST), smart processes, smart invoices, 1C (HTTP/JSON), PHP 8, cURL Timeline: two phases: November–December 2024 and June–July 2025
Problem

The sales team of an e-signature SaaS service could not see in the CRM how many signatures a client had left or which plan they were on: this data lived only in the platform itself. New companies were set up in the platform by hand, and invoices and payments had to be moved between the CRM and 1C manually.

Constraints

Cloud Bitrix24 — REST API and webhooks only, no core access. The platform sends the state of all companies in one batch, one company can pay for services on behalf of another, and 1C reports not only the posting but also the cancellation of a payment document.

What I did
  • A platform webhook receiver: the subscription pipeline is indexed in batch, and the remaining signatures and plan are updated by company id — only if the values actually changed
  • Mapping of 10 platform plans, with an unknown one becoming "Custom"; a new company gets a deal at a stage based on its signature count, written with three attempts
  • One-click onboarding from the deal: details, contacts and addresses are validated, the company is registered in the platform, its id is returned to the CRM, errors go to a comment
  • Exporting a smart invoice to 1C as a single JSON: product rows, business ID (BIN) and bank details, legal address, contract number and the responsible manager
  • Payments from 1C go into a "Payments" smart process: an item with a product row per service, payer and service recipient kept separate, duplicates filtered out by document number
  • Cancelling a payment document in 1C removes the linked payments in the CRM; the exchange is logged, and a debug mode allows checking data without sending it to 1C
Architecture
E-signature platform (webhook) → Bitrix24 subscription pipeline → Company onboarding → Smart invoice → 1C → 1C → "Payments" smart process
Result

Each client's remaining signatures and plan are visible right in the CRM, and new companies immediately land at the right stage by subscription volume. An invoice goes to 1C from the card, and the payment returns to the CRM with product rows — with no manual transfer between systems.

What can be reused
Batch pipeline indexing that updates only changed fields Company details validation with errors in the deal timeline Bitrix24 ↔ 1C invoice and payment exchange with duplicate protection