Accounting rules define which General Ledger (GL) accounts Hyperline uses when posting journal entries. Each rule belongs to a category that matches a specific billing event, and can be scoped to a subset of products, customers, currencies, or payment methods using filters.
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
Invoice settled
- Cash / bank account
- Payment clearing account
- Provider fees expense account
- Payment processing fees account
- Accounts receivable (cleared on settlement)
Credit note created
- Customer credits account
- Contra-revenue account
- Deferred discount account
- Revenue account (reversed)
- Output tax account (reversed)
- Accounts receivable (for unpaid invoices)
Revenue recognition
- Revenue account (when recognised)
- Deferred revenue (until recognised)
Accounting software sync
Accounting software sync rules reuse the ledger accounts configured on the matching billing event. When Hyperline sends a record to an external accounting provider, the resolved account is converted to the provider account code or internal account ID required by that provider.
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 |
Invoice settled
| 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 |
Credit note created
| 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 |
Revenue recognition
| 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 |
An empty filter matches everything — rules with no filters act as catch-all defaults.
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
This means you can define a low-priority default rule that covers all products, then add higher-priority rules to override specific account mappings for individual products or customer segments.
Example 💡
You have a default invoice issued 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
Only customer and product filters affect this tiebreaker. Other filters (coupons, currencies, countries, intervals, payment methods) do not — use distinct priorities to disambiguate them.
Example 💡
Two rules both have priority 10:
- Rule A scoped to customer
cust_123
- Rule B scoped to product
prod_456
For an invoice line where both rules match, Rule A wins because customer-scoped rules take precedence over product-scoped rules at the same priority.
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
Edit and delete rules
Click the edit or delete icon next to any rule in the rule list. Deleting a rule does not affect already-posted journal entries.