Legal & Documentation
Effective: May 5, 2026 Last Updated: May 5, 2026

Full Features Guide

Product: BitCommissions24

Version: 1.0

Last Updated: May 5, 2026


Overview

BitCommissions24 is a native sales commission management application built exclusively for the Bitrix24 CRM platform. It eliminates manual spreadsheet-based commission tracking by automating the full commission lifecycle — from rule definition through calculation, approval, and audit — entirely within your existing Bitrix24 portal.

The Application runs as an embedded iframe application within Bitrix24, communicates with a secure backend powered by Cloudflare Workers, and stores business data in both Bitrix24's native Data Storage and a dedicated Cloudflare D1 database. No external integrations, third-party middleware, or external software tools are required.


Subscription Plans at a Glance

Feature Area Sales Booster Enterprise
Price (indicative) $10 / month $89 / month
Commission structures available Straight only All 5 structures
Custom formula support
Per-product rate overrides
Maximum concurrent active rules 5 Unlimited
Tracked sales representatives Up to 10 Unlimited
Commission history retention 12 months Unlimited
Clawback detection
Commission caps & floors
Manual adjustments & overrides
Bulk recalculation
Advanced analytics & snapshots
Full event audit log
CSV / JSON export
Multi-currency support
Support channel Email / Community Priority Email + Slack
Support response time 24–48 hours 4 business hours

Part 1 — Commission Rule Engine

1.1 Commission Structures

The Application supports five commission structures, each designed to accommodate different compensation philosophies:

STRAIGHT (All Plans)

A straightforward percentage of a selected monetary basis applied to each qualifying CRM deal or transaction.

SPLIT (Enterprise)

Divides a commission pool across multiple sales representatives on a single deal or transaction, using configurable percentage allocations.

SPIFF (Enterprise)

A time-limited bonus commission on top of the standard compensation plan, used to incentivize short-term goals.

BASE_PLUS (Enterprise)

A hybrid model combining a guaranteed base component with a variable commission on top.

TIERED (Enterprise)

A progressive commission structure where rates increase as the representative surpasses defined revenue or performance thresholds.


1.2 Commission Calculation Basis

The "basis" determines the monetary value the commission rate is applied to:

Basis Description
Gross Revenue The total deal amount as recorded in the Bitrix24 deal's Amount field
Net Revenue Gross Revenue minus any discounts or adjustments configured in the rule
Profit Margin Revenue minus Cost of Goods Sold (COGS), incentivizing margin protection
Custom CRM Field Any numeric field from the CRM deal entity or product row, selected dynamically
Custom Formula A user-defined mathematical expression combining multiple variables (Enterprise only)

1.3 Rule Trigger Configuration

Each commission rule specifies precisely when and for what CRM entity type it activates:


1.4 Rule Builder — Condition Filters

The rule builder includes a visual filter builder that supports:

Examples of filter conditions:


1.5 Caps, Floors, and Guardrails (Enterprise)

To protect business financials and guarantee minimum rep earnings:


1.6 Commission Locking (Enterprise)

Rules can be configured to automatically lock commission entries after a specified number of days following calculation. Once locked:


Part 2 — Custom Formula Engine (Enterprise)

2.1 Formula Expression Support

Enterprise subscribers can define commission amounts using a full mathematical expression engine, rather than a fixed percentage:

Supported variables:

Variable Description
{dealValue} Total deal amount
{quantity} Product quantity (when iterating product rows)
{price} Product unit price
{discount} Discount amount or percentage applied
{tierLevel} Current tier number (for tiered structures)
Any CRM custom field Referenced by field ID (e.g., {UF_CRM_123456})

Supported functions:

ROUND(), FLOOR(), CEIL(), ABS(), MAX(), MIN(), SUM(), AVG()

Expression limits:

Security: The formula engine is a sandboxed recursive-descent parser. It does not use JavaScript's eval() function or any dynamic code execution — protecting against injection attacks.

2.2 Formula Iteration Mode (Per Product Row)

When a deal contains multiple product line items, the formula can be evaluated per product row and the individual results summed:


Part 3 — Commission Journal

3.1 Automatic Journal Entry Generation

Every time a qualifying CRM event triggers a matching rule, the Application automatically creates a commission journal entry containing:

3.2 Journal Entry Status Lifecycle

Each journal entry progresses through a defined status state machine:


PENDING → CALCULATED → APPROVED → PAID
                    ↘ DISPUTED
                    ↘ VOID
          ↘ VOID
CLAWBACK (terminal — triggered automatically on entity deletion)
Status Meaning
PENDING Entry created; calculation queued or in progress
CALCULATED Commission amount determined; awaiting review
APPROVED Reviewed and approved by an administrator
PAID Marked as paid out (payroll processed)
DISPUTED Flagged for review or investigation
VOID Cancelled; will not be paid
CLAWBACK Reversed due to deal deletion or cancellation (terminal)

Status transitions are enforced by a state machine — invalid transitions (e.g., PAID → CALCULATED) are rejected.

3.3 Auto-Approval Automation (All Plans)

Administrators can configure rules to automatically approve commission entries that meet defined criteria (e.g., below a certain value, for specific rep groups), reducing manual approval workload.

3.4 Manual Adjustments and Overrides (Enterprise)

Administrators with write access can:


Part 4 — Clawback Detection (Enterprise)

4.1 Automatic Clawback on Deal Deletion

When a Bitrix24 deal is deleted or cancelled after a commission entry has been created, the Application automatically generates a negative commission entry (CLAWBACK status) to reverse the payout.

4.2 Distributed Clawback Locking

To prevent duplicate clawback entries during high-concurrency processing, the Application uses a distributed locking mechanism ensuring each clawback is processed exactly once, even if multiple webhook events are received for the same deletion.


Part 5 — Notifications and Automation Actions (Enterprise)

Commission rules can trigger automated in-platform notifications on status changes:


Part 6 — Reporting and Analytics

6.1 Commission List View (All Plans)

A paginated, filterable table of all commission journal entries showing:

Filtering capabilities:

Sorting: By date, amount, status, representative name

6.2 Period Summary Cards (All Plans)

Dashboard cards displaying period-level aggregations:

6.3 Dashboard — Performance Metrics (All Plans)

The main dashboard provides at-a-glance performance metrics for the selected period:

6.4 Daily Snapshots (Enterprise)

The Application generates pre-aggregated daily commission snapshots for efficient historical period reporting:

Snapshots are generated automatically via a scheduled cron job and can be manually triggered by administrators.

6.5 Metrics by Representative and Rule (Enterprise)

Granular metric records queryable by:

Available metric keys:

6.6 Commission Summary (Enterprise)

Period-level aggregation view for administrators:


Part 7 — Multi-Currency Support (All Plans)

The Application supports commission calculations across multiple currencies:


Part 8 — Bulk Recalculation (Enterprise)

When rules need to be corrected retroactively or a data issue is discovered:


Part 9 — Data Export (All Plans)

9.1 Commission Journal Export

Export the full commission journal or a filtered subset:

9.2 Snapshot and Metrics Export (Enterprise)


Part 10 — Administration and Settings

10.1 Settings Panel

Accessible by portal administrators, the Settings panel provides:

General Settings:

Webhook Management:

Data Storage Health:

Currency Management:

Data Management:

10.2 Event Log Viewer (Enterprise)

A paginated, searchable log of all webhook events received from Bitrix24:

10.3 Activity Feed (Enterprise)

A unified, immutable timeline of all commission-related activity:

10.4 Token and OAuth Health


Part 11 — Security and Access Control

11.1 Role-Based Access

The Application enforces Bitrix24's native user role system:

Action Regular User Administrator
View own commission entries
View all commission entries
Create / edit commission rules
Approve / reject commission entries
Create manual adjustments
Access settings panel
View event log and activity feed
Trigger bulk recalculation
Delete data

11.2 Data Isolation

All data stored by the Application is strictly partitioned by Bitrix24 portal identifier (member_id). There is no mechanism by which data from one portal can be accessed from another portal — this is enforced at the database query level, not just at the application layer.

11.3 Encryption


Part 12 — Rule Simulator (All Plans)

The built-in Live Rule Simulator allows administrators to test commission rules before activating them in production:


Part 13 — Rule Management

13.1 Rule Versioning

13.2 Rule Lifecycle

State Description
Active Rule is live and processing new CRM events
Inactive (Deactivated) Rule has been soft-deleted; no new commissions calculated; existing entries retained
Re-activated A deactivated rule restored to Active status
Hard Deleted Rule permanently removed from the database; only possible when already inactive

13.3 Webhook Auto-Sync

When rules are created, updated, or deactivated, the Application automatically:

  1. Derives the set of Bitrix24 CRM events required by all currently active rules
  2. Compares against the set of currently registered webhook events
  3. Binds any newly required events and unbinds any no longer needed
  4. Persists the registered event state to prevent drift

Administrators can also trigger a manual webhook sync from the Settings panel.


Part 14 — Technical Environment

Aspect Detail
Hosting Cloudflare Workers (global edge network)
Database Cloudflare D1 (SQLite-compatible, partition-isolated per tenant)
CRM Data Storage Bitrix24 native Data Storage API (entity.item.*)
Event Processing Cloudflare Queues with dead-letter queue and exponential backoff retry
API Rate Handling Token Bucket algorithm; maximum 2 Bitrix24 API requests per second (platform limit); batch API requests (up to 50 methods per batch call)
Queue Configuration Max 10 messages per batch, 3 retry attempts, exponential backoff up to 60 seconds
Frontend React 18, Vite, TailwindCSS, shadcn/ui, TanStack Query, Zustand
Backend Hono on Cloudflare Workers, Drizzle ORM
Languages TypeScript (strict mode throughout)
i18n English, Spanish, Portuguese (auto-detected from browser; switchable in-app)

Part 15 — Internationalization (Language Support)

The Application interface is available in:

Language Code Status
English en Full (source language)
Spanish es Full
Portuguese pt Full

Language is auto-detected from the browser locale and can be manually switched using the language selector in the application sidebar. All UI labels, error messages, status descriptions, and notifications are localized for each supported language.


Appendix A — Glossary

Term Definition
Commission Journal The central record of all commission entries generated by the Application
Commission Rule A configured set of conditions, triggers, and calculation logic that determines when and how a commission is earned
Clawback A reversal of a previously calculated commission when the underlying deal is deleted or cancelled
SPIFF Sales Performance Incentive Fund — a short-term bonus commission campaign
Tier A commission rate bracket within a TIERED commission structure
Basis The monetary value to which a commission rate is applied (e.g., gross revenue, profit margin)
Cap A maximum ceiling on commission payout per entry
Floor A minimum guaranteed payout per commission entry
Fiscal Period The time window used for grouping and reporting commission activity (e.g., calendar month)
Webhook An automated notification sent by Bitrix24 to the Application when a CRM event occurs
D1 Cloudflare's serverless SQLite-compatible relational database used for operational data storage
Entity A Bitrix24 CRM object (e.g., Deal, Invoice, SPA item) that can trigger commission events
Snapshot A pre-aggregated daily summary of commission activity, stored for efficient historical reporting

Appendix B — Feature Availability Quick Reference

Feature Sales Booster Enterprise
STRAIGHT commission structure
SPLIT commission structure
SPIFF commission structure
BASE_PLUS commission structure
TIERED commission structure
INCREMENTAL and RETROACTIVE tier modes
Gross Revenue basis
Net Revenue basis
Profit Margin basis
Custom CRM Field basis
Custom Formula engine
Formula iteration (per product row)
Per-product rate overrides
Catalog product field-based rates
Rule condition filter builder
Commission caps and floors
Commission locking (auto lock after N days)
Auto-approval automation
Manual adjustments and overrides
Clawback detection (auto-reverse)
Configurable clawback window
Automated notifications on status change
Commission list view (all reps) ✅ (admin)
Period summary dashboard
Performance metrics dashboard
Daily snapshots
Metrics by rep and rule
Commission summary (period aggregation) ✅ (admin)
Multi-currency support
Bulk recalculation (dry-run + execute)
CSV export
JSON export
Snapshot export
Webhook event log viewer
Activity feed (timeline)
Rule versioning and history
Rule simulator (inline + drawer)
Data storage health check ✅ (admin)
Storage self-repair tools ✅ (admin)
Webhook auto-sync
Exchange rate management ✅ (admin)
Batch data deletion ✅ (admin)
OAuth token health diagnostics ✅ (admin)
Hard delete inactive rules ✅ (admin)
English, Spanish, Portuguese UI
Language auto-detection

© 2026 BitCommissions24. All rights reserved.