All Collections
System Integrations
Billing with Affinity Integration
Billing with Affinity Integration

Information on how the Affinity billing integration works

Written by Raymond Carrel
Updated over a week ago

The Affinity Integration offers features & benefits such as:



The ability to reroute billing of items to external billing systems, using Billing Routes

Direct billing data to the appropriate systems, reducing errors and discrepancies, in this case Affinity.

Advanced data validation at quotation, sales order, and asset data capture stages

Improves the integrity and accuracy of data throughout the billing process, minimising errors and the need for corrections.

Automated synchronisation of customers, sites, contacts, addresses

Ensures up-to-date and consistent information across systems, with The Layer as the system-of-authority.

Automate adding site product data from The Layer to Affinity

Simplifies the process of creating site product information on Affinity.

Automate adding & updating CTN (CLI) details from Layer to Affinity

Streamlines the management of CLIs, improving efficiency and data accuracy.

Links between local and Affinity price books

Facilitates linking Layer + Affinity price books, ensuring consistency and accuracy in billing.

Management of ceases via New & Cease feature

Improves the process of terminating services alongside new orders, ensuring accurate billing and inventory management.

Ability to capture CLI at quotation stage

Enhances the quoting process by incorporating critical telecommunication details early on, improving accuracy and customer service.

Improve ceases by facilitating reconciliation of billing assets between systems

Ensures accurate and timely cessation of services, preventing billing for terminated services.

Supports Do Not Bill on the supported billing routes

Allows for flexible billing management, accommodating exceptions and special cases without manual intervention.

Supports grouping of assets (e.g., licenses) with no references - coming soon

Will enable better management of grouped assets, improving billing accuracy and administrative efficiency.

Supports creating custom Layer products in Affinity

Enhances product management flexibility, allowing for tailored offerings and accurate billing.

Error queues and retry functionality upon sync fail

Ensures data integrity and continuity by automatically addressing and retrying after synchronisation errors.

In-life change functionality, detecting changes on Layer as the system of authority

Keeps data current by automatically updating changes, reducing manual tracking and updates.

Option of manual sync via exports

Provides flexibility in data management, allowing for manual oversight and intervention when necessary.

Billing Platforms

The Affinity integration uses Billing Platforms to control the billing and invoicing process.

Billing Platforms are assigned to items in inventory in the form of a Billing Route, and can be used to represent an external billing system.

These can be used to prevent invoicing of some items from occurring in The Layer. Billing Route also appears in a number of work stacks, grids and reports.

For users of the Affinity integration, the Affinity billing platform is defined in Settings - Billing Platforms.

The billing route for a product or service's up-front and recurring charges can be set independently in the item's record in inventory.

Invoicing in The Layer

Only items with an up-front billing route of The Layer, or with no up-front billing route set, will be invoiceable in The Layer.

Bill Status

The Bill Status field against a Sales Order line is used to reflect an item's current position in the billing process. The following states are present in The Layer:

  • Not Billed

  • Ready to Bill

  • In Billing

Items with a billing route set to Affinity will transition from one state to another based on various events. Firstly, all items must be converted to asset.

The second trigger depends on the item type:

Billing Status can be seen on the sales order grid as a coloured circle.

  • Orange - Not Billed or Ready to Bill

  • Green - In Billing

This is based on both recurring and up-front statuses.

You can check the statuses in more detail in Data Capture:

These values will be read-only unless you have the Allow update billing user role.

Bill Start Date

The Bill Start Date indicates the day on which billing will begin. This is populated as below:

These Bill Start Override field can be used to override the default date, so long as you have the Allow update billing user role. Otherwise, it will be a read-only field.

Using the Billing Export app to transfer items to Affinity

The Billing Export tool is an App within The Layer. It is accessible from the Apps button on the menu at the bottom of the screen, for users with the Apps - Change Queue role.

This app allows us to view items that have either an up-front or recurring billing status of Ready to Bill.

Use the top-right filter to show only items that have one or both billing route fields set to Affinity.

The following functions are available:

  • Export Product

  • Export CLI

  • Transfer to Billing


The two export file buttons are used to create CSV files that can be uploaded to Affinity.

The CLI export can be used to create a file containing information on CLIs in The Layer that have an Affinity billing route assigned. This will need to to be uploaded to Affinity before the product export file.

The product export file contains details of products and services that will be uploaded to Affinity for billing. These will be uploaded against the CLI where applicable.

Note: A check should also be made against the export table that each product to be exported has an SKU populated otherwise the upload into Affinity will fail because the product can’t be matched. In this case ensure the product is set up in Affinity and copy the Affinity Product Code into The Layer product ‘External SKU’ field before export.

The Billing Transfer button is used to change the status of selected lines from Ready to Bill to In Billing. This should be performed when the file upload to Affinity is complete

Did this answer your question?