Billing Settings
The Billing Settings tab manages invoice and statement configuration, including numbering schemes, defaults, template design, and accounting software integrations.
Invoice Line Deduplication
Control how Borderbolt handles duplicate billable items when creating invoice lines.
Deduplication Modes
Allow Duplicates (Default)
Always creates a new invoice line, even if an identical billable item already exists on the invoice.
When to Use:
- You want complete transparency of all charged items
- You bill by individual declaration or service
- You need detailed line-by-line audit trails
Example:
Invoice #2025-001
- Declaration H1 (24NL001) - €50.00
- Declaration H1 (24NL002) - €50.00
- Declaration H1 (24NL003) - €50.00
Total: €150.00Update Quantity
Updates the quantity on an existing unlocked invoice line instead of creating a duplicate.
When to Use:
- You bill by item type rather than individual instances
- You want cleaner, consolidated invoices
- Quantity-based billing is more meaningful than line-by-line
Requirements:
- Only updates unlocked lines (locked lines are never modified)
- Matches on billable item type and price
- Increments quantity and recalculates total
Example:
Invoice #2025-001 (before)
- Declaration H1 Processing - €50.00 × 2 = €100.00
(New H1 declaration processed, deduplication mode: update_quantity)
Invoice #2025-001 (after)
- Declaration H1 Processing - €50.00 × 3 = €150.00Skip
Skips creating a new line if an unlocked line for the same billable item already exists.
When to Use:
- You charge flat fees regardless of quantity
- You want to prevent accidental duplicate charges
- You bill by service period rather than per-item
Requirements:
- Only checks unlocked lines
- Matches on billable item type and price
- No line is added, no quantity updated
Example:
Invoice #2025-001
- Monthly Platform Fee - €200.00
(Duplicate monthly fee billable item created, deduplication mode: skip)
Invoice #2025-001 (unchanged)
- Monthly Platform Fee - €200.00Locked Lines: Once an invoice line is locked (invoice finalized/sent), it is never modified or deduplicated. Deduplication only applies to draft invoices with unlocked lines.
Customer Invoice Settings
Configure per-customer email settings for automated invoice delivery.
Invoice Email
Each customer can have a dedicated email address for receiving invoices.
Configuration:
- Navigate to Customers → Edit → Invoicing section
- Enter email address in “Invoice Email” field
- Saves automatically on blur
Usage:
- This is the default recipient when using the “Send Email” feature for invoices
- Required for auto-send functionality to work
- If not configured, invoices must be sent manually or email must be entered each time
Best Practice: Always configure invoice email during customer setup to streamline invoice delivery.
Auto-Send on Finalize
Automatically email invoices to customers when they are finalized.
How It Works:
- Enable Auto-Send Invoices toggle for the customer (in Customers → Edit → Invoicing)
- Configure the customer’s Invoice Email address (required)
- When an invoice for this customer is finalized, the system automatically:
- Generates the invoice PDF
- Sends it to the configured invoice email
- Logs the send action
Requirements:
- Customer must have Invoice Email configured
- Customer must have Auto-Send Invoices enabled
- Invoice must be finalized (not draft)
When to Use:
- High-volume customers with regular invoicing cadence
- Customers who require immediate invoice delivery
- Automated workflows where manual sending is inefficient
Email Required: If auto-send is enabled but invoice email is not configured, the finalization will succeed but no email will be sent. A warning will appear in the logs.
Rate Card Frequency Settings
Rate cards support flexible billing cycles to match different customer agreements and service types.
Invoice Frequency
Configure when invoices are generated based on dossier completion.
Available Frequencies:
Immediate
Invoices are generated as soon as the dossier is completed or marked ready to invoice.
When to Use:
- Per-declaration billing
- Fast-turnaround services
- Customers requiring immediate invoicing
Delayed
Invoices are generated after a configured number of days following dossier completion.
When to Use:
- Consolidation periods for multiple services
- Grace periods before billing
- Batch processing requirements
Configuration:
- Set Delayed Frequency Days (0-90 days)
- Default: 0 days (same as immediate)
- Example: 7 days = invoice generated one week after dossier completion
Weekly
Invoices are generated once per week on a configured day.
When to Use:
- Weekly billing cycles
- Customers who prefer weekly statements
- Regular service intervals
Configuration:
- Select day of week (Monday-Sunday)
- Configure invoice run time (e.g.,
08:00)
Monthly
Invoices are generated once per month on a configured day.
When to Use:
- Monthly billing agreements
- Subscription-style services
- Standard accounting periods
Configuration:
- Select day of month (1-28, to avoid month-end issues)
- Configure invoice run time (e.g.,
08:00)
Delayed Frequency Days
Number of days to wait after dossier completion before generating the invoice.
Configuration:
- Only visible when frequency is set to “Delayed”
- Range: 0-90 days
- Input type: Number
Example:
- Delayed frequency days:
14 - Dossier completed: January 1
- Invoice generated: January 15 (at configured run time)
Invoice Run Time
Time of day when the periodic invoice generation process runs for this rate card.
Configuration:
- Only visible for Delayed, Weekly, and Monthly frequencies
- Format: 24-hour time (e.g.,
08:00,14:30,23:00)
How It Works:
- The system runs periodic invoice generation at regular intervals
- For each rate card, it checks if the current time matches the configured run time
- If conditions are met (day of week/month, time), invoices are generated
- Ensures predictable invoice generation timing
Best Practice: Schedule run times during off-peak hours to minimize system load (e.g., early morning like 06:00 or 07:00).
Scheduling: Invoice generation runs automatically at the configured intervals. Ensure run times are set to avoid overlap with peak usage periods.
Invoice Settings
Invoice Numbering
Configure how invoice numbers are generated.
Number Prefix:
- Prefix for all invoice numbers (e.g.,
INV-,2025-,BB-) - Can include year, customer codes, or identifiers
- Appears before the sequential number
Next Invoice Number:
- The next sequential number to be assigned
- Auto-increments with each invoice
- Can be manually adjusted (use caution)
Example Formats:
- Prefix:
INV-2025-, Next:1→INV-2025-00001 - Prefix: “, Next:
1000→1000 - Prefix:
BB-, Next:1→BB-00001
Caution: Changing the “Next Invoice Number” can create gaps or conflicts in numbering. Only adjust this value if you understand the implications for accounting continuity.
Invoice Defaults
Default values applied to new invoices.
Payment Days:
- Default payment term in days (e.g.,
14,30,60) - Applied to invoice due date calculation
- Due Date = Invoice Date + Payment Days
Currency:
- Default currency for invoices (e.g.,
EUR,USD,GBP) - Applies to all line items and totals
- Can be overridden per invoice
VAT Rate:
- Default VAT/tax rate as a percentage (e.g.,
21for 21% VAT) - Applied to taxable line items
- Can be overridden per invoice or line
Statement Settings
Statements are periodic summaries of outstanding invoices sent to customers.
Statement Numbering
Configure statement number generation.
Number Prefix:
- Prefix for all statement numbers (e.g.,
STMT-,S-) - Helps distinguish statements from invoices
- Appears before the sequential number
Next Statement Number:
- The next sequential number to be assigned
- Auto-increments with each statement
- Independent from invoice numbering
Example Formats:
- Prefix:
STMT-, Next:1→STMT-00001 - Prefix:
S-2025-, Next:1→S-2025-00001
Template Designer
Invoice Template
Customize the appearance of invoice PDFs.
Available Customizations:
- Header and footer content
- Company logo placement
- Color scheme
- Font selection
- Line item columns and order
- Subtotal, VAT, and total formatting
- Payment information placement
- Terms and conditions
How to Use:
- Click “Edit Invoice Template”
- Use the visual editor to modify layout
- Preview changes in real-time
- Save template when satisfied
Statement Template
Customize the appearance of statement PDFs.
Available Customizations:
- Statement header design
- Outstanding invoice table layout
- Aging buckets (current, 30 days, 60 days, 90+ days)
- Payment history summary
- Contact information
- Branding elements
Best Practice: Maintain consistent branding between invoice and statement templates for professional appearance.
Accounting Integration
Borderbolt supports integration with popular accounting software to automatically sync invoices and customers.
Supported Platforms
AFAS
Integration with AFAS Profit for automated invoice and customer sync.
Configuration:
- AFAS Environment URL
- AFAS Token (encrypted at rest)
- Connector names for invoices and customers
- Field mappings
Features:
- Automatic invoice export when finalized
- Customer master data sync
- Real-time or scheduled sync
- Error logging and retry
e-Boekhouden
Integration with e-Boekhouden.nl for Dutch accounting.
Configuration:
- Username
- Security Code 1
- Security Code 2 (encrypted at rest)
Features:
- Invoice export
- Customer synchronization
- VAT code mapping
- GL account assignment
Snelstart
Integration with Snelstart accounting software.
Configuration:
- Client Key
- Subscription Key (encrypted at rest)
Features:
- Real-time invoice sync
- Customer data export
- Payment matching
- Multi-administration support
WeFact
Integration with WeFact invoicing and accounting platform.
Configuration:
- API Key (Beveiligingscode): Required. Found in WeFact under Settings > API.
- API URL: Optional. Defaults to
https://api.mijnwefact.nl/v2/. Only change for self-hosted WeFact instances.
Prerequisites:
- WeFact account with API access enabled
- Server IP address whitelisted in WeFact (Settings > API > IP Whitelisting)
Features:
- Automatic invoice export when finalized
- Customer (debtor) synchronization
- Invoice numbering managed by WeFact
IP Whitelisting Required: WeFact requires the Borderbolt server’s IP address to be whitelisted for API access. Contact your system administrator for the server IP address if you need to configure this in WeFact.
Integration Setup
- Navigate to Settings → Billing Settings
- Scroll to “Accounting Integration”
- Select your accounting platform
- Enter API credentials (encrypted automatically)
- Configure field mappings
- Test connection
- Enable automatic sync
Auto-Sync on Finalize
When enabled, invoices are automatically synced to your accounting system as soon as they are finalized.
How It Works:
- Enable Auto-Sync in the accounting integration settings
- Finalize an invoice
- The system automatically sends the invoice to your accounting platform in the background
- On success: the invoice status updates to Synced and the external ID is recorded
- On failure: the error is logged and can be retried manually
Requirements:
- An active accounting integration must be configured and tested
- Auto-Sync must be enabled in the integration settings
- The invoice must be finalized (drafts are never synced)
Retry Logic: If a sync attempt fails, the system retries up to 3 times with a 60-second delay between attempts. If all retries fail, the error is recorded and the invoice can be synced manually.
Sync Logging: Every sync attempt (success, failure, or skip) is logged with full details including timestamps, duration, and error messages. View sync history in the accounting integration settings.
Security: All API keys, tokens, and passwords are encrypted at rest in the database. They are never logged or exposed in error messages.
Best Practices
Invoice Numbering
- Use consistent prefixes across fiscal years for audit trails
- Include year in prefix for easy filtering (e.g.,
INV-2025-) - Never reuse invoice numbers - gaps are acceptable and common
- Document any manual changes to numbering sequences
Deduplication Strategy
Choose Based on Billing Model:
| Billing Model | Recommended Mode |
|---|---|
| Per-declaration flat fee | allow_duplicates |
| Volume-based pricing | update_quantity |
| Monthly subscriptions | skip |
| Mixed (declarations + subscriptions) | allow_duplicates |
Template Design
- Keep templates clean and professional
- Include all legally required information (company details, VAT number, etc.)
- Test templates with sample data before finalizing
- Maintain separate designs for invoices vs. statements
- Ensure templates are readable when printed or viewed digitally
Accounting Integration
- Test integrations thoroughly in a sandbox/test environment first
- Schedule syncs during off-peak hours to minimize impact
- Monitor error logs regularly for failed syncs
- Maintain backup exports of invoice data
- Document field mapping decisions for future reference
Updating Settings
- Navigate to Settings → Billing Settings
- Update the desired fields
- Changes save automatically on blur
- For templates, use “Save Template” button
- For integrations, use “Test Connection” before enabling sync
Invoice Runs
Invoice Runs provide visibility into automated and manual invoice generation jobs. This section is accessible at Settings > Invoice Runs.
Required permission: settings.view + invoicing.settings
Viewing Run History
The Invoice Runs page shows a paginated log of all invoice generation runs with:
| Column | Description |
|---|---|
| Frequency | Which billing cycle ran (delayed, daily, weekly, monthly) |
| Run Date | The date the run covered |
| Started / Completed | Timestamps for the run |
| Status | completed, failed, or running |
| Customers Processed | Number of customers included |
| Invoices Created | Total invoices generated |
| Lines Processed | Total invoice lines created |
| Total Amount | Sum of all generated invoices |
| Triggered By | User ID if manually triggered, or “Scheduled” |
You can filter runs by frequency and status using the dropdowns at the top of the page.
Manual Invoice Runs
When a scheduled invoice run fails or you need to generate invoices outside the normal schedule, you can trigger a manual run.
Required permission: invoicing.settings
- Navigate to Settings > Invoice Runs
- Click the Run Now button in the page header
- Select the frequency to run: Delayed, Daily, Weekly, or Monthly
- Confirm in the dialog that appears
- The job is queued and will appear in the run history
Background Processing: Manual runs are processed in the background. Refresh the page after a moment to see the results.
Retrying Failed Runs
If a run shows a failed status:
- Expand the failed run row to see the error message and customer-level results
- Click the Retry button next to the error message
- Confirm the retry — this triggers the same frequency again
- A new run entry will appear in the log
Idempotent: Retrying a failed run creates a new run from scratch. It does not resume the failed run. Already-invoiced items from the failed run (if any) will be skipped by the deduplication logic.
Permissions
Billing settings require specific permissions. The table below shows which permissions control which functions and which roles have them by default.
Billing Settings Permissions
| Permission | Function | Admin | Manager | Customs Manager | Senior Declarant | Viewer |
|---|---|---|---|---|---|---|
settings.view | Access the Settings page | Yes | Yes | - | - | - |
invoicing.settings | Edit invoice/statement numbering, defaults, deduplication | Yes | - | - | - | - |
invoicing.designer | Design invoice and statement PDF templates | Yes | - | - | - | - |
invoicing.accounting | Configure and manage accounting integrations | Yes | Yes | Yes | - | - |
invoicing.view | View invoices, rate cards, and statements | Yes | Yes | Yes | Yes | Yes |
invoicing.create | Create new invoices | Yes | Yes | Yes | - | - |
invoicing.edit | Edit draft invoices | Yes | Yes | Yes | - | - |
invoicing.delete | Delete draft invoices | Yes | Yes | Yes | - | - |
invoicing.finalize | Finalize invoices (lock and assign number) | Yes | Yes | Yes | - | - |
invoicing.payments | Mark invoices as paid, manage prepayments | Yes | Yes | Yes | - | - |
invoicing.rate_cards | Create and manage rate cards | Yes | Yes | Yes | - | - |
invoicing.billable_items | Create and manage billable items | Yes | Yes | Yes | - | - |
invoicing.statements | View and manage statements | Yes | Yes | Yes | - | - |
Permission Details by Function
Invoice Settings & Numbering
Editing invoice number prefix, next number, payment days, currency, VAT rate, and deduplication mode requires invoicing.settings. This is an admin-only permission by default.
Template Designer
The visual template editor for invoice and statement PDFs requires invoicing.designer. This is an admin-only permission.
Accounting Integration
Configuring AFAS, e-Boekhouden, or Snelstart connections requires invoicing.accounting. This is available to Admin, Manager, and Customs Manager roles.
Invoice Runs (Manual Trigger)
Viewing and triggering manual invoice runs requires both settings.view (to access the Settings page) and invoicing.settings (to trigger runs). This is admin-only by default.
Customer Invoice Configuration
Editing per-customer invoice email and auto-send settings is part of customer management and requires customers.edit.
Roles Without Billing Access
The following roles have no billing settings permissions by default:
- Junior Declarant — no invoicing permissions
- Data Entry — no invoicing permissions
- User (basic) — no invoicing permissions
Related Documentation
- Invoicing User Guide - Complete guide to invoicing features, rate cards, billing automation
- Company Settings - Set company details for invoices
- VAT Reverse Charge - Configure FR7/BTW Verlegging
- Customers - Manage customer billing information
Troubleshooting
Invoice Numbers Skip or Have Gaps
Problem: Invoice numbers are not sequential (e.g., 001, 002, 005).
Solution: This is normal and acceptable. Gaps can occur due to:
- Deleted draft invoices
- Failed invoice creation attempts
- Manual number adjustments
- System errors during creation
Accounting standards allow gaps in numbering. Never reuse invoice numbers.
Accounting Integration Sync Failures
Problem: Invoices not appearing in accounting software.
Solutions:
- Verify API credentials are correct and active
- Check integration is enabled in settings
- Review error logs for specific sync failures
- Ensure invoice is finalized (drafts don’t sync)
- Verify accounting software is accessible (not down)
- Test connection using “Test Connection” button
Deduplication Not Working
Problem: Lines still duplicating despite mode setting.
Solutions:
- Verify invoice lines are unlocked (finalized invoices can’t be modified)
- Check billable item matches exactly (type and price)
- Ensure deduplication mode is saved correctly
- Review the invoice line creation log for issues
- Confirm mode is appropriate for use case
Template Changes Not Appearing
Problem: Updated invoice template not reflected in PDFs.
Solutions:
- Clear browser cache and reload
- Regenerate PDF after template save
- Check template is saved (not just previewed)
- Verify correct template is selected (invoice vs. statement)
- Review for template syntax errors in custom HTML
Manual Invoice Run Not Appearing
Problem: Clicked “Run Now” but no new run appears in the log.
Solutions:
- The run is processed in the background — refresh the page after a few seconds
- If it still does not appear, contact your system administrator to check background processing
- Verify you have both
settings.viewandinvoicing.settingspermissions
Invoice Run Shows “Failed” Status
Problem: A scheduled or manual invoice run completed with errors.
Solutions:
- Expand the failed run row to see the error message and per-customer results
- Check if specific customers failed (partial failures are possible — other customers may have succeeded)
- Review rate card configuration for the failing customers
- Use the “Retry” button to re-run after fixing the underlying issue
- Contact your system administrator if the issue persists