Rule categories
| Category | Trigger | What it controls |
|---|---|---|
| Invoice posted | An invoice is finalised and emitted | Accounts receivable, revenue (or deferred revenue), output tax, discounts |
| Invoice settled | A payment transaction is settled | Cash or bank account, payment clearing, any payment processing fees |
| Credit note created | A credit note is issued | Customer credit liability, contra-revenue entries |
| Revenue recognition | No independent trigger — applied at invoice posting time alongside the Invoice posted rule | Recognition method, schedule granularity, discount recognition mode |
| Accounting software sync | A record is prepared for an external accounting provider | Account mapping sent to a connected accounting provider |
Rules of all categories can coexist in the same ledger. Revenue recognition settings are resolved at invoice posting time alongside the Invoice posted rule — they are not triggered by a separate event.
Account mappings
Each rule specifies which GL account to use for each role in the journal entry. The available account roles depend on the rule category: Invoice posted- Accounts receivable
- Revenue account
- Deferred revenue
- Output tax / VAT
- Discount account
- Deferred discount account
- Contra-revenue account
- Customer credits account
- Bad debt / allowance for doubtful accounts
- Cash / bank account
- Payment clearing account
- Provider fees expense account
- Payment processing fees account
- Accounts receivable (cleared on settlement)
- Customer credits account
- Contra-revenue account
- Deferred discount account
- Revenue account (reversed)
- Output tax account (reversed)
- Accounts receivable (for unpaid invoices)
- Revenue account (when recognised)
- Deferred revenue (until recognised)
uncollectible.
Accounts can be created manually in Hyperline or fetched from your accounting provider by syncing the ledger’s chart of accounts. See Chart of accounts.
View the rule tree
Accounting > Settings > Rules displays all rules grouped by category, showing which rules would apply and in what order for each event type. This is useful for auditing your rule configuration before going live.
Filters
Rules can be scoped using one or more filters. Available filters depend on the rule category. When a billing event occurs, Hyperline evaluates all matching rules and applies them in priority order. Invoice posted| Filter | Description |
|---|---|
| Products | Match specific products by ID |
| Product types | Match by product type (flat_fee, dynamic, addon, seat, one_off, credit) |
| Customers | Match specific customers |
| Coupons | Match invoices where a specific coupon was applied |
| Currencies | Match invoices in a given currency |
| Countries | Match customers billed from a given country |
| Billing interval | Match by billing period (e.g. monthly, quarterly, annual, one-off) |
| Accounting provider accounts | Match a connected accounting provider account |
| Filter | Description |
|---|---|
| Payment providers | Match by payment provider (Stripe, GoCardless, etc.) |
| Payment methods | Match by method type (card, SEPA direct debit, ACH, BACS, bank transfer, etc.) |
| Bank accounts | Match by the bank account a payment was received on. Useful when you post settlements to different cash GL accounts per bank account. |
| Currencies | Match transactions in a given currency |
| Accounting provider accounts | Match a connected accounting provider account |
| Filter | Description |
|---|---|
| Products | Match specific products by ID |
| Product types | Match by product type (flat_fee, dynamic, addon, seat, one_off, credit) |
| Customers | Match specific customers |
| Coupons | Match credit notes where the original invoice used a specific coupon |
| Currencies | Match credit notes in a given currency |
| Countries | Match customers billed from a given country |
| Accounting provider accounts | Match a connected accounting provider account |
| Filter | Description |
|---|---|
| Products | Match specific products by ID |
| Product types | Match by product type (flat_fee, dynamic, addon, seat, one_off, credit) |
| Customers | Match specific customers |
| Coupons | Match invoices where a specific coupon was applied |
| Currencies | Match invoices in a given currency |
| Countries | Match customers billed from a given country |
| Billing interval | Match by billing period (e.g. monthly, quarterly, annual, one-off) |
| Accounting provider accounts | Match a connected accounting provider account |
Criteria reference
The rule form can use the following criteria, depending on the selected category:| Criterion | Use it when |
|---|---|
| Products | A product needs its own revenue, deferred revenue, or provider account mapping. |
| Product types | A whole product category should share the same mapping, such as all usage products. |
| Customers | A specific customer needs an override, for example a strategic account with a dedicated revenue account. |
| Coupons | Discounts or revenue should be mapped differently when a coupon is used. |
| Currencies | Transactions in one currency should post to a different account. |
| Countries | Billing from a country or jurisdiction needs a specific mapping. |
| Billing interval | Monthly, quarterly, annual, or one-off charges need different account treatment. |
| Accounting provider accounts | A rule should apply only to a specific connected accounting integration account. |
| Payment providers | Settlements need different accounts depending on the payment provider. |
| Payment methods | Settlements need different accounts depending on the method, such as card, SEPA direct debit, ACH, BACS, or bank transfer. |
| Bank accounts | Payments received on different bank accounts should post to different cash accounts. |
Priority and fallback
When multiple rules match the same billing event, Hyperline applies them using a priority overlay:- All matching rules are collected and sorted by priority (ascending)
- Rules are applied in order — each rule overrides only the account roles it explicitly defines
- The rule with the highest priority number wins for any given account role
Example 💡
You have a default invoice posted rule (priority 10) that maps all revenue to account
4000 – Revenue. You then add a second rule (priority 50) scoped to a specific product that maps its revenue to 4100 – Usage Revenue. When an invoice is issued for that product, Hyperline uses 4100 for that product’s line items and 4000 for everything else.Tiebreaker at equal priority
When two matching rules share the same priority, Hyperline picks the more specific one:- A rule scoped to customers wins over a rule scoped to products
- A rule scoped to products wins over a rule with no customer or product filter
- If both rules are equally specific, the rule created first wins
Example 💡
Two rules both have priority 10:
- Rule A scoped to customer
cust_123 - Rule B scoped to product
prod_456
Add a rule
Go to Accounting > Settings > Rules and click Add rule.
- Select the rule category
- Assign a priority (integer; higher wins)
- Configure the account mappings for each role
- Optionally add filters to scope the rule

