Legal & Documentation
Effective: August 26, 2026 Last Updated: August 26, 2026

Full Features Guide

Product: BitCommissions24

Version: 1.0

Last Updated: August 26, 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 Starter (Free) Sales Booster Enterprise
Price (indicative) $0 / month (Free) $10 / month $89 / month
Commission structures available Straight only Straight only All 5 structures
Custom formula support ❌ ❌ ✅
Per-product rate overrides ❌ ❌ ✅
Maximum concurrent active rules 1 5 Unlimited
Tracked sales representatives Up to 10 Up to 10 Unlimited
Commission history retention 12 months 12 months Unlimited
Clawback detection ❌ ❌ ✅
Commission caps & floors ❌ ❌ ✅
Manual adjustments & overrides ❌ ❌ ✅
Bulk recalculation ❌ ❌ ✅
Advanced analytics & snapshots ❌ ❌ ✅
Full event audit log ❌ ❌ ✅
CSV / JSON export CSV only CSV only CSV & JSON
Multi-currency support ✅ ✅ ✅
Support channel Community Email Priority Email + Slack
Support response time Best effort 24–48 hours 4 business hours
Free trial 14 days 14 days 14 days
Grace period after a failed/expired payment 3 days before features lock 3 days before features lock 3 days before features lock

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 an entry passes its lock deadline:


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:

Supported Operators & Comparison:

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 — Historical Sales Backfill (Enterprise)

Deals that closed before the Application was installed — or before a rule existed to cover them — never triggered a live webhook, so they never earned a commission. Historical Sales Backfill closes that gap by replaying past CRM records through the exact same pipeline a live webhook uses (rule matching, calculation, journal write), so past sales end up with the same commission entries they would have gotten if their webhook had fired at the time.


Part 10 — Data Export (All Plans)

10.1 Commission Journal Export

Export the full commission journal or a filtered subset:

10.2 Snapshot and Metrics Export (Enterprise)


Part 11 — Administration and Settings

11.1 Settings Panel

Accessible by portal administrators, the Settings panel provides:

General Settings:

Webhook Management:

Data Storage Health:

Currency Management:

Data Management:

11.2 Event Log Viewer (Enterprise)

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

11.3 Activity Feed (Enterprise)

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

11.4 Token and OAuth Health


Part 12 — Security and Access Control

12.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 ❌ ✅

12.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.

12.3 Encryption


Part 13 — Rule Simulator (All Plans)

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


Part 14 — Rule Management

14.1 Rule Versioning

14.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

14.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 15 — 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 50 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 16 — 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 Starter (Free) 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) ✅ (admin) ✅
Period summary dashboard ✅ ✅ ✅
Performance metrics dashboard ✅ ✅ ✅
Daily snapshots ❌ ❌ ✅
Metrics by rep and rule ❌ ❌ ✅
Commission summary (period aggregation) ✅ (admin) ✅ (admin) ✅
Multi-currency support ✅ ✅ ✅
Bulk recalculation (dry-run + execute) ❌ ❌ ✅
Historical sales backfill ❌ ❌ ✅
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) ✅ (admin) ✅
Storage self-repair tools ✅ (admin) ✅ (admin) ✅
Webhook auto-sync ✅ ✅ ✅
Exchange rate management ✅ (admin) ✅ (admin) ✅
Batch data deletion ✅ (admin) ✅ (admin) ✅
OAuth token health diagnostics ✅ (admin) ✅ (admin) ✅
Hard delete inactive rules ✅ (admin) ✅ (admin) ✅
English, Spanish, Portuguese UI ✅ ✅ ✅
Language auto-detection ✅ ✅ ✅

_© 2026 BitCommissions24. All rights reserved._