Skip to content

Enterprise Suite - Intercompany

Enterprise Suite - Intercompany for Business Central Cloud

  • Released version: 1.5.6.0

A complete set of API endpoints has been introduced to enable seamless intercompany communication and data exchange between Business Central companies and tenants.

What has been done:

  • Added 25 API pages covering Purchase Order management, Sales Order operations, and warehouse shipment handling
  • Implemented IC PO Management API XTE codeunit for centralized API business logic
  • Added API status tracking with IC PO API Status XTE enum
  • Created buffer tables for efficient data transfer: IC Incoming Doc Buffer XTE, IC PO Add Lines Buffer XTE, IC SO Add Lines Buffer XTE, IC SO Update Lines Buffer XTE, and IC Whse SO Delete Buffer XTE
  • Implemented specialized APIs for line operations, date updates, price updates, status synchronization, and address management
  • Added shipment receive API for tracking goods receipt across companies

Usability notes:

  • Companies can now communicate automatically through standardized REST APIs without manual data entry
  • The API framework supports real-time synchronization of order changes, ensuring both companies always have current information
  • Buffer tables improve performance by staging data before processing, reducing the risk of errors during high-volume operations
  • API status tracking provides visibility into communication success or failures, making troubleshooting easier
  • The modular API design allows selective implementation based on specific business needs

[Feature] Automated Purchase Order Sending

Section titled “[Feature] Automated Purchase Order Sending”

A sophisticated purchase order sending system has been implemented to automatically create and transmit purchase orders to partner companies based on sales order requirements.

What has been done:

  • Added IC PO Sender XTE codeunit for orchestrating the PO sending process
  • Implemented IC PO Buffer Processor XTE and IC PO Buffer Mgt XTE codeunits for efficient order processing
  • Created IC PO Send Queue XTE table and page for tracking outbound purchase orders
  • Added IC PO Queue Manager XTE codeunit for queue management and retry logic
  • Implemented IC PO Queue Status XTE enum for tracking processing status (Pending, Processing, Sent, Failed, etc.)
  • Created buffer tables for PO entities: IC PO Entity Buffer XTE, IC PO Line Entity Buffer XTE, and IC PO Comment Buffer XTE
  • Added IC PO Release Subs XTE codeunit to trigger PO sending when sales orders are released
  • Implemented Release IC PO On SO Rel XTE codeunit for automatic PO release upon SO release
  • Added IC PO Shipment Receive API XTE page for tracking shipment and receipt status
  • Created IC Doc Queue Manager XTE, IC Doc Send Processor XTE, and IC Document Sender XTE codeunits for general document sending infrastructure
  • Added IC Doc Send Queue XTE table and page with IC Doc Queue Status XTE enum for document-level queue management

Usability notes:

  • Purchase orders are now automatically created in the warehouse company when sales orders are released in the sales company, eliminating manual order entry
  • The queue system ensures reliable delivery even if the partner company is temporarily unavailable, with automatic retry capabilities
  • Users can monitor the status of sent purchase orders through the PO Send Queue page, providing full visibility into the order flow
  • Failed transmissions are clearly identified and can be retried manually or automatically based on configuration
  • The buffer-based approach ensures data integrity by validating and staging orders before transmission
  • Comments and special instructions are automatically transferred along with order lines, maintaining complete order context

Full item tracking support has been added to synchronize serial numbers and lot numbers between linked intercompany orders.

What has been done:

  • Added IC Item Tracking Buffer XTE table for staging item tracking information
  • Implemented IC Item Tracking Processor XTE codeunit for processing tracking data
  • Created IC Item Tracking Sync XTE codeunit for synchronizing tracking between orders
  • Added IC Item Tracking Validation XTE codeunit for validating tracking information
  • Implemented IC Item Tracking Event Subs XTE codeunit for event-driven tracking updates

Usability notes:

  • Serial numbers and lot numbers are now automatically synchronized between sales and purchase orders across companies
  • This ensures complete traceability of tracked items throughout the intercompany supply chain
  • Validation prevents mismatches in tracking information, reducing errors in inventory management
  • The system supports both serial number tracking (one-to-one) and lot number tracking (many-to-one)
  • Item tracking synchronization happens automatically when orders are processed, requiring no manual intervention

A comprehensive order linking system has been introduced to maintain relationships between sales orders, purchase orders, and warehouse shipments across companies.

What has been done:

  • Added IC Linked Order XTE table for storing order relationships
  • Implemented IC Link Manager XTE codeunit for managing order links
  • Created IC Linked Orders XTE page for viewing all linked orders
  • Added IC Linked Order Card XTE page for detailed link information
  • Implemented IC Link Details FactBox XTE for quick reference on order pages
  • Added IC Link Lookup XTE page for searching and selecting linked orders
  • Created event subscribers for link lifecycle management: IC SO Delete Cascade XTE, IC SO Header Delete Sub XTE, IC SO Line Delete Sub XTE, and IC Whse SO Delete Guard XTE

Usability notes:

  • Users can now easily navigate between related orders across companies using the link factbox on order pages
  • The linked orders page provides a complete overview of all intercompany order relationships
  • When a sales order is deleted, the system can automatically handle related purchase orders based on configuration
  • The link tracking ensures full traceability from customer order to warehouse fulfillment
  • Search functionality makes it easy to find related orders even in high-volume environments

A powerful mapping system has been implemented to translate master data (items, customers, vendors, dimensions, variants) between different companies.

What has been done:

  • Added IC Mapping XTE table for storing item, customer, and vendor mappings
  • Created IC Mapping Variants XTE table for item variant mappings
  • Added IC Mapping Dimensions XTE table for dimension value mappings
  • Implemented IC Mapping Engine XTE codeunit for translation logic
  • Created IC Mapping List XTE and IC Mapping Card XTE pages for managing mappings
  • Added IC Mapping Variants Subpage XTE for variant-specific mappings
  • Implemented bulk import/export capabilities for efficient mapping setup

Usability notes:

  • Companies can now use different item numbers, customer numbers, and vendor numbers while still exchanging orders seamlessly
  • The mapping engine automatically translates codes during order transmission, eliminating the need for synchronized master data
  • Variant mappings support complex scenarios where the same product has different variant codes in different companies
  • Dimension mappings ensure financial reporting dimensions are correctly translated across companies
  • Bulk import/export functionality allows rapid setup of mappings from Excel or other sources
  • The system validates mappings to prevent errors before orders are transmitted

Comprehensive order synchronization capabilities have been added to keep sales and purchase orders aligned across companies in real-time.

What has been done:

  • Implemented IC Order Sync Manager XTE codeunit for orchestrating synchronization
  • Added date synchronization with IC Date Sync Integration XTE codeunit
  • Created price synchronization with IC Price Sync XTE codeunit
  • Implemented delivery date synchronization with IC Req Delivery Date Sync XTE codeunit
  • Added ship-to address synchronization with IC Ship To Address Sync XTE codeunit
  • Created status synchronization with multiple codeunits: IC Status Sync XTE, IC Status Sync PO to SO XTE, IC Status Cascade Logic XTE, IC Status Release Event XTE
  • Implemented line-level synchronization with IC Sales Line Update XTE and IC PO Line Delete XTE codeunits
  • Added shipment/receipt synchronization with IC PO Shipment Receive Sync XTE codeunit

Usability notes:

  • Changes made to sales orders are automatically reflected in linked purchase orders and vice versa
  • Delivery dates, prices, quantities, and addresses stay synchronized without manual updates
  • Order status changes (Released, Shipped, Invoiced) are automatically communicated between companies
  • Line deletions and additions are synchronized to prevent discrepancies
  • The synchronization respects business rules and only updates fields when appropriate based on order status
  • Users always see current information regardless of which company they’re working in

[Feature] Performance Monitoring and Optimization

Section titled “[Feature] Performance Monitoring and Optimization”

Performance monitoring capabilities have been added to track and optimize intercompany operations.

What has been done:

  • Added IC Performance Monitor XTE codeunit for tracking operation performance
  • Implemented IC Performance Log XTE table for storing performance metrics
  • Created IC Performance Dashboard XTE page for visualizing performance data
  • Added IC Performance Analyzer XTE codeunit for analyzing bottlenecks

Usability notes:

  • Administrators can monitor the performance of intercompany operations through a dedicated dashboard
  • Performance logs help identify slow operations and bottlenecks in the order flow
  • The system tracks API call duration, queue processing times, and synchronization performance
  • Performance data can be used to optimize configuration and identify issues before they impact users

Sophisticated pricing capabilities have been implemented to support markup calculations and price synchronization between companies.

What has been done:

  • Added IC Price Markup XTE table for storing markup rules
  • Implemented IC Markup XTE codeunit for calculating markups
  • Created IC Price Markup List XTE and IC Price Markup Card XTE pages for managing markup rules
  • Added price synchronization logic in IC Price Sync XTE codeunit

Usability notes:

  • Companies can define markup percentages or fixed amounts to apply when creating intercompany orders
  • Markup rules can be configured per partner, item group, or customer group
  • Prices are automatically calculated based on markup rules when purchase orders are created from sales orders
  • Price changes in the source order can be synchronized to linked orders based on configuration
  • This enables proper profit margin management in multi-company scenarios

[Feature] Enhanced Security and Authentication

Section titled “[Feature] Enhanced Security and Authentication”

Comprehensive security features have been added to ensure secure intercompany communication and proper access control.

What has been done:

  • Implemented IC Partner Auth Manager XTE codeunit for OAuth2 authentication
  • Added IC Token Cache Manager XTE codeunit for secure token management
  • Created IC Token Health Dashboard XTE page for monitoring authentication status
  • Implemented secure credential storage using Business Central isolated storage
  • Added IC Reopen Block On Rel Whse SO XTE codeunit to prevent unauthorized order modifications
  • Created comprehensive permission sets: IC_ADMIN XTE, IC_USER XTE, IC_VIEW XTE, and IC_AUDIT XTE

Usability notes:

  • All intercompany communication is secured using OAuth2 authentication with Microsoft Entra ID
  • Client secrets are encrypted and stored securely, never exposed in the user interface
  • Token caching improves performance while maintaining security through automatic refresh
  • The token health dashboard provides visibility into authentication status and helps troubleshoot connection issues
  • Role-based permission sets ensure users only have access to appropriate intercompany functions
  • Warehouse shipment orders linked to intercompany sales orders are protected from unauthorized reopening

[Feature] Dead Letter Queue for Error Handling

Section titled “[Feature] Dead Letter Queue for Error Handling”

A robust error handling system has been implemented to capture and manage failed intercompany operations.

What has been done:

  • Added IC Dead Letter Queue XTE table for storing failed operations
  • Implemented IC Dead Letter Queue Mgt XTE codeunit for queue management
  • Created IC Dead Letter Queue List XTE page for viewing failed operations
  • Added IC DLQ Card XTE page for detailed error information
  • Implemented IC DLQ Details FactBox XTE for quick error reference
  • Added IC DLQ Status XTE enum for tracking error resolution status

Usability notes:

  • Failed intercompany operations are automatically captured in the dead letter queue instead of being lost
  • Users can review error details, understand what went wrong, and take corrective action
  • Operations can be retried from the queue after fixing the underlying issue
  • The dead letter queue prevents data loss and ensures all orders are eventually processed
  • Error tracking provides valuable insights for troubleshooting and system improvement

Real-time inventory availability lookup has been added to check stock levels in partner companies before creating orders.

What has been done:

  • Implemented IC Inventory Lookup XTE codeunit for querying partner inventory
  • Added IC Availability Helper XTE codeunit for availability calculations
  • Created IC Avail Page Buffer XTE table for caching availability data
  • Implemented IC Avail Buffer API XTE page for API-based availability queries
  • Added IC Avail Buffer Cleanup XTE codeunit for cache management
  • Created IC Item Avail by Event XTE page for viewing availability by date
  • Extended Inventory Page Data XTE table extension for additional availability information

Usability notes:

  • Sales staff can check real-time inventory availability in warehouse companies before confirming customer orders
  • The availability lookup considers current stock, incoming orders, and outgoing commitments
  • Cached availability data improves performance while staying current through automatic refresh
  • The availability by event page shows projected inventory levels over time
  • This helps prevent overselling and improves customer service by providing accurate delivery promises

A comprehensive event framework has been implemented to enable customization and extension of intercompany functionality.

What has been done:

  • Implemented IC Event Publishers XTE codeunit with 7+ integration events
  • Added IC Event Sub Sample XTE codeunit with example event subscribers
  • Created IC Item Ledger Event Subs XTE codeunit for item ledger entry events
  • Added event-driven order lifecycle management

Usability notes:

  • Partners and customers can extend intercompany functionality without modifying the core app
  • Integration events allow custom logic to be injected at key points in the order flow
  • Sample event subscribers provide templates for common customization scenarios
  • The event framework supports complex business requirements unique to each organization
  • Events enable integration with third-party systems and custom extensions

A comprehensive set of utility functions has been added to support common intercompany operations.

What has been done:

  • Implemented IC Return Handler XTE codeunit for managing return orders
  • Added Run Check On Status XTE codeunit for status validation
  • Extended Item Ledger Entry IC Part XTE table extension for intercompany tracking
  • Added page extensions for seamless integration: Purchase Order IC XTE, Purchase Order Subform IC XTE, Sales Order IC Partner XTE, Sales Order Subform IC XTE, Item Ledger Entries IC XTE
  • Extended customer and vendor cards with IC partner information: Customer IC Partner XTE, Vendor IC Partner XTE

Usability notes:

  • Return order handling is now supported for intercompany scenarios
  • Status validation prevents invalid operations based on current order state
  • Item ledger entries track intercompany transactions for full traceability
  • Intercompany information is seamlessly integrated into standard Business Central pages
  • Users can access intercompany features directly from familiar order and master data pages
  • This is a major feature release with significant new functionality
  • Existing configurations from version 1.5.2.0 will be preserved during upgrade
  • New API endpoints require proper authentication setup in IC Partner Setup
  • Review and configure new permission sets (IC_ADMIN, IC_USER, IC_VIEW, IC_AUDIT) for users
  • Test the new automated PO sending functionality in a sandbox environment before production deployment
  • Configure mapping tables for items, customers, vendors, and dimensions to enable cross-company translation
  • Review and configure price markup rules if using intercompany pricing
  • The dead letter queue will capture any failed operations during initial setup, allowing for correction and retry
  • Performance monitoring is enabled by default; review the performance dashboard after go-live to identify optimization opportunities