How Phenna Group linked their customized operational systems to NetSuite via Celigo and custom billing logic.

Phenna Group is a global provider of testing, inspection, certification, and compliance services. The company supports customers in regulated and technically demanding sectors.

The group has built an international portfolio of specialist companies that help organizations operate safely, comply with regulations, and maintain high quality standards. Phenna combines global scale with local expertise across multiple regions and sectors.

Phenna Group United Kingdom

Phenna Group is a global provider of testing, inspection, certification, and compliance services. The company supports clients in regulated and technically demanding sectors.

The group has built an international portfolio of specialist companies that help organizations operate safely, comply with regulations, and maintain high quality standards. Phenna combines global scale with local expertise across multiple regions and sectors.

Phenna Group had to connect custom operational systems to NetSuite without losing the business logic required for complex field, lab, billing, and finance processes.

The aim was to replace fragile point-to-point interfaces with well-managed Celigo flows, while NetSuite remained the finance-driven system and operational processes in the custom source systems were preserved.

Teknuro designed a Celigo integration architecture that synchronizes commercial and master data from NetSuite, mirrors operational orders and billable items back to NetSuite, and exports invoice and payment information for operational insight.

The work also included custom billing logic that could not be resolved with standard NetSuite configuration alone. This reduced the risk of duplicate invoicing, improved invoice reconciliation, and created a stronger integration foundation that the Phenna team can manage and extend. A PeopleHR-to-NetSuite integration is also being added as part of the broader roadmap.

The core challenge was not just connecting systems. It was about aligning finance-driven processes in NetSuite with operational processes in custom systems.

NetSuite had to remain the leading system for finance, invoicing, payments, customers, opportunities, estimates, and service catalog data. The custom operational systems had to remain leading for field and lab activities, locations, orders, bills, tests, and fulfilment-related records.

That created a complex integration model. Customer and commercial data had to flow from NetSuite to the operational systems, while operational orders and billable activities had to move back to NetSuite. Invoices and payments had to remain auditable in NetSuite, while invoice, payment, and billing status data had to be visible in the operational environment. Contacts created in the field and operational data had to be processed without creating duplicates.

The hardest part was billing control. Operational bill IDs and billable lines had to correctly reconcile with NetSuite sales orders, sales order lines, invoices, and item fulfillments. If related lines were not processed together, bills could remain open, duplicate exports could occur, or invoice reconciliation could become unreliable.

NetSuite also supports partial billing and can, over time, create multiple item fulfillments against a single sales order line. Phenna needed an integration that preserves this detail when invoice data is sent back to the operational system. Standard invoice exports could not reliably provide the full item fulfillment details needed for reconciliation.

A normal integration would have moved records between systems. Phenna needed an integration that understood billing rules, duplicate prevention rules, and the operational meaning behind the data.

Teknuro designed Celigo flows between NetSuite and the bespoke operational systems with REST- and JSON-based integrations.

The solution synchronizes the commercial and master data foundation from NetSuite, including parent customers, child customers and divisions, opportunities and sites, parent and child service items with their service options, estimates and quotes, and contacts.

Operational data then flows back to NetSuite: orders become NetSuite sales orders, billable items are written as sales order lines, and contacts created in the field are created as NetSuite contacts where necessary.

Finance-driven data flows from NetSuite back to the operational environment: invoices, payment status updates, invoice totals, outstanding balances, payment dates, related bill IDs and the PDF links or invoice references that operational teams need to close the loop.

Teknuro built safeguards in the integration to prevent duplicates and preserve reconciliation. When operational orders and billable lines are created in NetSuite, Celigo confirms the NetSuite IDs back to the source system. Sales order lines store external bill IDs and line IDs so that invoicing can be grouped and traced correctly.

A critical rule is that related billable lines must stay correctly grouped during invoicing. If related lines are invoiced separately, the operational system may not reconcile them correctly. Therefore, the integration stores external bill IDs at the NetSuite line level and uses them as a checkpoint for downstream invoice export.

Phenna also had a specific NetSuite limitation regarding item fulfillments.

A single NetSuite invoice line can represent multiple quantities of the same item. In real operations, that one invoice line can be linked to multiple item fulfillments, each item fulfillment having its own external bill header ID.

The operational system needs all related bill header IDs when an invoice is exported. However, NetSuite does not provide a reliable way to retrieve complete item fulfillment details directly from the invoice record or the invoice saved search.

Teknuro solved this within Celigo with a preSavePage script and a virtual NetSuite export. Instead of nesting item fulfillments within grouped invoice lines, the script retrieves the related item fulfillments, matches them based on the external line ID, and flattens them into independent root-level records.

This was necessary because Celigo's one-to-many import functionality cannot reliably update nested arrays deeper than one level. By flattening item fulfillments early in the flow, downstream import steps can update and mark as shipped each related item fulfillment record.

This prevents duplicate processing. Previously shipped fulfillments are excluded from future invoice exports, while new fulfillments that are created later for the same sales order line can still be picked up correctly.

The result is that every item fulfillment is sent exactly once. Previously sent fulfillments are excluded from future exports, while new fulfillments created after an invoice can still be processed later. The operational system receives the bill header IDs needed for invoice reconciliation, the risk of double invoicing decreases, and the flow remains stable despite Celigo's nested-array limitation.

Phenna Group gained a manageable integration foundation between NetSuite and its custom operational systems, with custom logic for the real billing and operational complexity of the business.

The integration replaces fragile point-to-point interfaces with Celigo-managed flows and gives Phenna a clearer model for how operational data, finance data, and billing data should move between systems.

The company received governed integration flows between NetSuite and its custom operational systems, with clear ownership between finance-driven NetSuite data and operations-driven source data. Customers, divisions, opportunities, contacts, and the service catalog are now synchronized. Operational orders and billable lines mirror neatly to NetSuite sales orders, and invoice and payment data is exported back for operational insight. External bill IDs and line IDs remain preserved for reconciliation, the risk of duplicate invoicing has been reduced, and billing issues due to incomplete fulfillment tracking have largely disappeared. Invoice reconciliation is faster, the Phenna team has a more maintainable Celigo architecture to manage, and the platform now forms a scalable foundation for additional integrations, including the planned PeopleHR-to-NetSuite integration.

The value was not only in the integration. Teknuro helped Phenna translate complex operational and billing rules into a maintainable architecture across NetSuite, custom operational systems, and Celigo.

What we connect:

ERPCRMe-commercePIMprocurementWMS/3PLEDIfinancecustom systems

Platforms:

Business Central SAP Business OneSalesforceShopifyBigCommerceAkeneoSAP AribaPunchOut cXMLcustom APIsNetSuite
Nuri is here to help!