# SyteLine ION BOD Message Volume Calculator

> Source: https://netray.co/tools/syteline-ion-bod-message-volume-calculator
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Free Tools

## Short answer

Estimate how many outbound BODs SyteLine sends to ION per day, the peak rate per minute and the outbox storage if BODs are kept.

## Category

syteline

## Erp

Infor SyteLine

## Audience

- ERP administrator
- Integration developer
- ION administrator

## Tool

**Kind:** calculator

**Inputs:**

#### Sales order events per day

**Key:** so_events

**Type:** number

**Default:** 300

**Min:** 0

**Step:** 10

**Unit:** events

**Help:** Order events that publish Sync.SalesOrder: printing the Customer Order Verification Report, deleting an order, or completing the order header.

#### Sync.SalesOrder BODs per order event

**Key:** so_mult

**Type:** number

**Default:** 2

**Min:** 0

**Step:** 0.1

**Unit:** BODs

**Help:** Measure from the outbox for one week. Users who reprint verification reports raise this.

#### Shipment material transactions per day

**Key:** shipments

**Type:** number

**Default:** 200

**Min:** 0

**Step:** 10

**Unit:** BODs

**Help:** Sync.Shipment is published when material transactions that remove inventory are posted (order shipping, job issues and similar).

#### A/R invoices posted per day

**Key:** invoices

**Type:** number

**Default:** 200

**Min:** 0

**Step:** 10

**Unit:** BODs

**Help:** Sync.Invoice from Invoice Posting or Consolidated Invoicing.

#### Item master changes per day

**Key:** items

**Type:** number

**Default:** 50

**Min:** 0

**Step:** 5

**Unit:** BODs

**Help:** Sync.ItemMaster on item create or change of specified Items form fields.

#### Customer master changes per day

**Key:** customers

**Type:** number

**Default:** 20

**Min:** 0

**Step:** 5

**Unit:** BODs

**Help:** Sync.CustomerPartyMaster on Customers, Prospects or Customer Ship Tos changes.

#### Average BOD size

**Key:** kb

**Type:** number

**Default:** 12

**Min:** 1

**Step:** 1

**Unit:** KB

**Help:** Open a few documents from the outbox and check their size. Order and invoice BODs with many lines are larger.

#### Working hours per day

**Key:** hours

**Type:** slider

**Default:** 10

**Min:** 1

**Max:** 24

**Step:** 1

**Unit:** hours

#### Peak factor

**Key:** peak

**Type:** number

**Default:** 2.5

**Min:** 1

**Step:** 0.1

**Unit:** x average

**Help:** Busiest minute rate divided by average rate. Invoice posting runs and month end create bursts.

#### Outbox retention if BODs are kept

**Key:** retention

**Type:** number

**Default:** 30

**Min:** 0

**Step:** 1

**Unit:** days

**Help:** Only relevant when ION is configured not to delete BODs from the outbox after retrieval.

**Outputs:**

#### Sync.SalesOrder BODs per day

**Key:** so_bods

**Expr:** so_events * so_mult

**Format:** integer

#### Outbound BODs per day

**Key:** bods_per_day

**Expr:** so_bods + shipments + invoices + items + customers

**Format:** integer

**Primary:** true

**Description:** Sum of each business event volume times its BODs per event.

#### Average BODs per minute

**Key:** avg_per_minute

**Expr:** bods_per_day / (hours * 60)

**Format:** decimal

#### Peak BODs per minute

**Key:** peak_per_minute

**Expr:** avg_per_minute * peak

**Format:** decimal

**Primary:** true

**Description:** Rate ION connection points and the BOD retrieval must sustain in the busiest periods.

#### BOD payload per day

**Key:** storage_mb_per_day

**Expr:** bods_per_day * kb / 1024

**Format:** decimal

**Description:** Megabytes of XML generated per day.

#### Outbox storage if retained

**Key:** outbox_storage_gb

**Expr:** storage_mb_per_day * retention / 1024

**Format:** decimal

**Description:** Gigabytes held in the outbox when BODs are not deleted after retrieval.

**Chart:**

#### BODs per day and peak per minute vs sales order events

**Type:** line

**X:** so_events

**From:** 50

**To:** 3000

**Steps:** 30

**Series:**

- bods_per_day
- peak_per_minute

**Disclaimer:** Multipliers and sizes are inputs, not Infor figures. Measure them from the Replication Document Outbox over one representative week before using the result for sizing.

## Content

**Intro:** This calculator estimates outbound BOD traffic from Infor SyteLine / CloudSuite Industrial (CSI) to Infor ION: daily count, peak rate and outbox storage. Use it before adding a new ION integration or when the outbox or ION grows faster than expected.

**Sections:**

#### How BODs are generated in SyteLine

**Body:** SyteLine does not stream table changes. Each outbound BOD is created by a defined business event, and the documentation lists the trigger for every noun. Sync.SalesOrder is published when the Customer Order Verification Report is printed, an order is deleted, or the order header is set to Completed. Sync.Shipment follows posting of material transactions that remove inventory. Sync.Invoice follows Invoice Posting or Consolidated Invoicing. Sync.ItemMaster and Sync.CustomerPartyMaster follow changes to the Items and Customers forms. This is why volume follows user behaviour: a planner who reprints the order verification report five times a day produces five Sync.SalesOrder documents.

**Bullets:**

- Each noun has its own trigger, so measure each multiplier separately
- Change-heavy users and reprints multiply Sync BODs
- Nouns with no subscribing ION flow still cost database time and outbox space

#### Where the BODs live on premises

**Body:** Outbound BODs land in the Replication Document Outbox. ION retrieves them from there and, by default, removes them after retrieval. If ION is configured to preserve them, usually for troubleshooting, they stay and the outbox grows every day, so plan how and when retained documents are cleaned up. In a multi-site setup, check which site's database ION retrieves from for each intranet and size that database's outbox, not each site separately. The retention input in this calculator only matters when preservation is switched on.

**Bullets:**

- Default behaviour: ION deletes retrieved BODs from the outbox
- Preserve only while troubleshooting, then switch it back
- Multi-site: size the outbox ION actually retrieves from

#### Formula and worked example

**Body:** BODs per day = sales order events x BODs per event + shipment transactions + invoices + item changes + customer changes. Average per minute = BODs per day / (working hours x 60), and the peak is that average times your peak factor. Storage = BODs x average KB / 1024 for MB per day, then x retention days / 1024 for outbox GB. With the defaults, 300 order events x 2 gives 600 Sync.SalesOrder BODs, plus 200 + 200 + 50 + 20 gives 1,070 BODs per day. Over 10 hours that averages 1.8 per minute and peaks near 4.5 per minute. At 12 KB that is about 12.5 MB per day, or about 0.37 GB if kept for 30 days. Those numbers are small for ION; trouble usually starts with month-end invoice runs or a document flow that loops.

#### Measuring the real multipliers

**Body:** Do not trust the defaults. For one normal week, count outbox documents by BOD noun per day (the outbox records the document name and creation date), and count the matching business events from the source tables: orders printed or completed, material transactions posted, invoices posted. Divide to get the real multiplier. Repeat in month-end week to set the peak factor. If one noun is far above expectation, look for a utility or user habit that re-triggers it, or a custom event handler that fires the same replication rule twice. Disable outbound nouns that no ION flow subscribes to; generating documents nobody reads costs database time and outbox space.

**Cta:** If you want your team to ask SyteLine and ION questions like these in plain English on your own servers, we can set up a private AI layer that reads the outbox and transaction tables for you.

**Faq:**

#### Does SyteLine have an ION API for integrations?

**Answer:** SyteLine integrates with ION through BODs: outbound documents go to the Replication Document Outbox and are retrieved by ION, and inbound BODs are processed into the ERP. For synchronous reads and writes, SyteLine also exposes IDOs over the Mongoose REST interface. Most designs use BODs for event flows and IDO calls for lookups.

#### Why does SyteLine send more Sync.SalesOrder BODs than we have orders?

**Answer:** Sync.SalesOrder is published on order events, not once per order. Printing the Customer Order Verification Report, deleting an order, or completing it each publishes one. Reprints and repeated edit and print cycles multiply the count. Measure BODs per order event from the outbox for a week and use that as the multiplier.

#### Why is the Replication Document Outbox growing?

**Answer:** Usually ION has been configured to preserve BODs after retrieval, often left on after troubleshooting, or ION has stopped retrieving them. Check the ION connection point settings and whether documents are being picked up. In multi-site setups, confirm the connection point retrieves from the database that actually holds the outbound documents.

#### How many BODs per minute can ION handle?

**Answer:** That depends on your ION version, hosting, connection points and document sizes, so there is no single figure. Use this calculator to get your peak rate, then compare it with what you observe in ION during month end. Rates of a few documents per minute are light; sustained hundreds per minute need testing.

## Search terms

syteline ion api, syteline ion bod volume, csi outbound bod, sync.salesorder bod, integration with erp systems, api integration with erp, infor software for service integration, replication document outbox

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
