Chapter 4 of 8Page 22 of 22

Configure

External sources

Pay commission on more than posted sales: service, project and purchase documents, selected G/L entries, recurring contracts, CSV imports and a staging API.

updated: applies-to: 1.2.0.0

Not every commissionable event is a posted sales document. Bitta Commission can also capture posted service, project, resource and purchase documents, selected G/L entries, subscription events derived from recurring invoices, rows from CSV files, and events your own systems send to a staging API. This page shows you how to switch each source on, and how held rows are reviewed before they become immutable source facts.

Before you start

  • Read Capture posted sales first. The additional scanners only run while Native Capture Enabled is on in Bitta Commission Setup.
  • Maintaining sources, rules, mappings and contracts requires the Bitta Commission Setup Administrator or Bitta Commission Integration permission set. See Permission sets.
  • Every external source needs a Source System Code. Codes that start with NATIVE- are reserved for the Business Central adapters.

Switch on additional adapters

  1. Search for Commission Source Capture Setup and open it.
Commission Source Capture Setup with the Native adapters, External sources and Capture policies groups and the Register Scanner Jobs action
Step 1: switch on additional source adapters.
  1. In Native adapters, turn on the adapters you need. Each is off until you switch it on.
Setting What it captures
Service Capture Enabled Posted service invoices and credit memos.
Project Capture Enabled Project ledger sales entries, as project event facts.
Capture Project Usage as Cost Evidence Project usage entries as excluded cost evidence for profitability measures.
Resource Capture Enabled Resource ledger usage entries, as resource time facts.
Purchase Capture Enabled Posted purchase invoices and credit memos, with purchaser attribution.
G/L Capture Enabled Posted G/L entries that match an active G/L source rule.
Recurring Capture Enabled Subscription event facts from accepted invoice facts that match a recurring contract.
  1. Choose Register Scanner Jobs. The extended scanner job queue entries are created on hold. Set them to Ready in Job Queue Entries when the adapters are enabled.

Extended Scan Batch Size sets how many ledger entries each extended scanner run reads. In Capture policies, Snapshot Policy decides whether the organization and plan snapshot hash is taken At Capture or left to At Calculation, and Quality Rules Enabled evaluates data quality rules before acceptance. From Release 1.2 this also covers posted sales lines captured by native capture: a line a rule holds for review waits on Commission Source Review, while the other lines of the posted document are captured. See Exception handling.

Capture selected G/L entries

  1. Turn on G/L Capture Enabled and choose G/L Source Rules.
  2. On Commission G/L Source Rules, add a rule. An Active rule needs a G/L Account Filter, for example 6100..6199.
Commission G/L Source Rules list with G/L account filter, fact kind, salesperson code, negate amount, requires review, priority and status
Step 2: a G/L source rule.
Field What it does
Source Code Filter, Dimension Code, Dimension Value Filter Optional filters the entry must match. A dimension value filter needs a dimension code.
Fact Kind Matching entries become Manual Adjustment or External Transaction facts.
Salesperson Code A fixed salesperson for every matching entry.
Attribution Dimension Code A dimension whose value is used as the salesperson code when no fixed salesperson is set.
Negate Amount Reverses the sign so credit balances become positive commission amounts.
Requires Review Holds matching entries for review (reason GL-REVIEW-REQUIRED).
Priority, Status Rules are tested in order and the first match wins. Only Active rules capture entries.

G/L entries with the commission posting source code from the posting setup are skipped, so commission postings do not feed back into commission.

Derive subscription events from recurring contracts

  1. Turn on Recurring Capture Enabled and review Churn Grace Days.
  2. Choose Recurring Contracts and add a contract: Contract No., Customer No., an optional Item No. (blank matches every item), Recurring Code, Salesperson Code (blank keeps the invoice attribution), Billing Interval, Start Date, End Date and Status Active.
Commission Recurring Contracts list with contract number, customer, item, salesperson, billing interval, start and end date and status
Step 2: a recurring contract.

Accepted invoice facts for that customer and item produce Subscription Event facts. Each is classified against the previous invoice: NEW for the first, then RENEWAL, UPGRADE or DOWNGRADE when the amount stayed the same, rose or fell. When no further invoice appears after the end date plus the churn grace days, a CHURN event is derived.

Import rows from a CSV file

  1. Turn on File Import Enabled in External sources.
  2. Choose Import Mappings and create a mapping.
  3. On Commission Source Import Mapping, fill in Source System Code, Provider Code, Schema Version, Mapping Version (part of each row's payload hash; raise it when the column layout changes), Source Fact Type Code (for example EXTERNAL-TRANSACTION or SUBSCRIPTION-EVENT), Source Event Type Code (normally IMPORTED), Has Header Row and Status Active. In Columns, add one line per column with a Target of Staging Field or Attribute, and mark Required columns.
Commission Source Import Mapping card with source system code, mapping version, source fact type code, Has Header Row and the Columns part
Step 3: an import mapping and its columns.
  1. On Commission Source Import Mappings, choose Dry Run CSV to stage and validate a file without creating source facts, then Import CSV to accept its rows. The message shows how many rows were processed and in which batch.

TIP

With Has Header Row on, fill in Column Name and the import finds the column by its heading, so the column order in the file does not matter. Leave it blank to use Column No.

A blank required column or a value that cannot be converted marks that row as an error.

Receive events through the API

Your own systems can post events to the commissionSourceEvents endpoint (publisher bittaApps, group commission, version v1.0). It is insert-only: each call stages one event, and the endpoint cannot modify or delete rows. Turn on External Events Enabled and give the integration user the Bitta Commission Integration permission set. Each event needs a source system code, an idempotency key, a source fact type code and a business date or posting date. Sending an identical event again creates no second fact (result DUPLICATE-IDENTICAL), and changed evidence under the same key is rejected (result REJECTED-CONFLICT). Bitta Commission ships no ready-made connectors to third-party systems. Field names and examples are in the API reference.

Late data and source review

Turn on Late Data Policy Enabled and set Default Late Grace Days and Default Late Data Action. Late Data Policies overrides the default per source system; only Active policies apply. Accept Into Current Period accepts a late row on the processing date and keeps the original date as an attribute. Hold For Review holds it with reason LATE-DATA.

Choose Source Review to open Commission Source Review, which lists held and quarantined rows with the Inclusion Reason Code and Validation Message. G/L rows that require review, late rows held by policy and rows quarantined by data quality rules, including posted sales lines, all appear here.

Commission Source Review listing held and quarantined staging rows with inclusion reason code, validation message and the Release and Accept and Exclude actions
Review held and quarantined rows.
  • Release and Accept sets the row to included and accepts it into source facts with its preserved attributes.
  • Exclude excludes the row from commission processing with a documented review reason.
  • Quality Outcomes shows the data quality results for the row.

NOTE

Only quarantined or unaccepted rows can be released or excluded (BAA-SRC-REVIEW-STATE).

What's next

Calculate commission from your captured sources: Calculate commission.

// next step

Ready to try Bitta Commission?