# Epicor BPM Directive Inventory Worksheet

> Source: https://netray.co/tools/epicor-bpm-directive-inventory-worksheet
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Free Tools

## Short answer

Inventory your BPM directives, score complexity and retest effort, and see total upgrade retest hours. Export to Excel.

## Category

epicor

## Erp

Epicor Kinetic

## Audience

- Epicor developer
- Epicor consultant
- IT manager

## Tool

**Kind:** worksheet

**Mode:** editable

**Columns:**

#### Directive name

**Key:** name

**Type:** text

#### Type

**Key:** type

**Type:** select

**Options:**

- Method
- Data in-transaction
- Data standard
- Function

#### Object / table

**Key:** bo

**Type:** text

#### Purpose

**Key:** purpose

**Type:** text

#### Owner

**Key:** owner

**Type:** text

#### Complexity 1-5

**Key:** complexity

**Type:** number

#### Retest hours

**Key:** hours

**Type:** number

#### Risk score

**Key:** risk

**Type:** number

**Expr:** complexity * hours

**Format:** integer

**Help:** Complexity times retest hours

#### Decision

**Key:** decision

**Type:** select

**Options:**

- Keep
- Rebuild
- Retire
- Review

**Rows:**

#### SalesOrder_Post_CreditNote

**Type:** Method

**Bo:** SalesOrder.Update

**Purpose:** Credit hold note

**Owner:** Sales ops

**Complexity:** 2

**Hours:** 2

**Decision:** Keep

#### PO_Pre_RequireBuyer

**Type:** Method

**Bo:** POEntry.Update

**Purpose:** Block save without buyer

**Owner:** Purchasing

**Complexity:** 1

**Hours:** 1

**Decision:** Keep

#### Part_Data_ApproveNewPart

**Type:** Data standard

**Bo:** Part

**Purpose:** Approval email for new parts

**Owner:** Engineering

**Complexity:** 4

**Hours:** 6

**Decision:** Review

#### Job_Post_ExportToMES

**Type:** Method

**Bo:** JobEntry.Update

**Purpose:** Push job to MES

**Owner:** IT

**Complexity:** 5

**Hours:** 10

**Decision:** Rebuild

#### Legacy_Receipt_Check

**Type:** Method

**Bo:** Receipt.Update

**Purpose:** Unknown

**Complexity:** 3

**Hours:** 3

**Decision:** Retire

**Totals:**

#### Total retest hours

**Key:** hours

**Agg:** sum

**Format:** decimal

#### Total risk score

**Key:** risk

**Agg:** sum

**Format:** integer

#### Directives

**Key:** name

**Agg:** count

**Format:** integer

**Summary:**

#### Average risk per directive

**Key:** avg_risk

**Expr:** sum_risk / count

**Format:** decimal

**Primary:** true

#### Retest days at 6 productive hours

**Key:** days

**Expr:** sum_hours / 6

**Format:** decimal

**Notes:** Start from the directive list in your system, then add owners and purpose. A directive nobody can explain is a candidate to retire after a safe period of being disabled in a test system.

## Content

**Intro:** Before an Epicor upgrade or migration to Kinetic you need to know what you have. This worksheet is a working inventory of BPM directives with complexity, retest effort and a keep, rebuild or retire decision for each one.

**Sections:**

#### How to use the worksheet

**Body:** Add one row per directive, naming the type and the object or table it is attached to. Write a short purpose and an owner. Score complexity from one to five, estimate the hours needed to retest it, and the worksheet computes a risk score. Use the decision column to plan which items to keep, rebuild, review or retire, then export to Excel for the project plan.

**Bullets:**

- One row per directive
- Name an owner for each
- Estimate retest hours honestly
- Mark unknowns as Review

#### Scoring complexity

**Body:** A simple scheme works well. One is a single condition with one action. Three has several conditions or custom code. Five touches multiple tables, calls external systems or changes transactions in ways that are hard to reverse. Agree the scheme with your team so scores are comparable and use the same scale at each review.

#### Using the totals

**Body:** Total retest hours turn the inventory into a project estimate for the test phase. The risk score highlights where attention should go first. If one or two directives account for most of the total, plan them as separate work items with named testers rather than leaving them for the last week.

#### Common mistakes

**Body:** Inventories miss disabled directives and those attached to less obvious methods. Include both. Another mistake is counting only directives and forgetting customized screens, custom reports and functions. Keep a companion list for those so the upgrade estimate covers everything.

**Cta:** If you would like a faster inventory with plain language summaries of what each directive does, Netray can help.

**Faq:**

#### How do I get a list of BPM directives in Epicor?

**Answer:** Use the BPM Directive maintenance screens to browse directives by type and object, and export or copy what you find into this worksheet. Include disabled ones and note their status. Check the documentation for your version for any export options.

#### How is the risk score calculated?

**Answer:** It multiplies the complexity score by the estimated retest hours for each directive. It is a planning aid, not a standard metric. Use it to rank items and to focus review time rather than as a precise measure.

#### Should I retire unknown directives?

**Answer:** Not blindly. Mark them Review, disable them in a test system, watch for impact and ask process owners. If nobody misses them after a reasonable period, retire them with a recorded decision and a backup of the definition.

#### Does it cover customizations beyond BPM?

**Answer:** Only BPM directives. Keep separate inventories for screen customizations, custom reports, UD fields and integrations, or add a type column to combine them. The same complexity and retest approach works for all of them.

## Search terms

epicor bpm inventory, epicor bpm list, epicor upgrade bpm review, epicor directive audit, epicor customization inventory excel, epicor bpm documentation, epicor kinetic upgrade preparation

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