Skip to content

URS-032 · Traceability for product lots, shipments, and inventory movements

Title: Traceability for product lots, shipments, and inventory movements Date: 2026-09-29T02:30:47.897Z Duration: 208.9s Overall Status: ✅ PASS

The system shall maintain traceability for product lots, shipments, and inventory movements.

Source: User_Requirement_Specifications_Vantis_DeviceFlow.xlsx — the run below proves the system meets this requirement.

Status: ✅ PASS

Each step below corresponds to one Playwright test that ran sequentially. Screenshots and video recordings provide visual evidence of the UI behaviour.

1. Step 1: Lot traceability details — ✅ PASS

Section titled “1. Step 1: Lot traceability details — ✅ PASS”

What this step proves:

The lot-controlled product NEURO-DEVICE-001 (an implantable device) carries lot policy “approved” with a controlled allowed-lot list (LOT-2025-001234 for the warehouse, LOT-2025-005678 for the trunk), establishing that lots are first-class, controlled data on the product.

Screenshots:

step 01 lot details

Video recording:


What this step proves:

The product-catalog entry has billing and ordering enabled, and the ROSS sales account carries effective approved pricing plus the “holds owned stock” setting that makes it eligible for direct orders and hospital-stock bill-only orders.

Screenshots:

step 02 catalog entry

step 02 sales account

Video recording:


3. Step 3: Baseline inventory — ✅ PASS

Section titled “3. Step 3: Baseline inventory — ✅ PASS”

What this step proves:

The warehouse lot LOT-2025-001234 is on hand at the Main Warehouse (ROSS-001) before any order activity — the baseline that makes the later increase and decrease conclusively attributable to the order flows.

Screenshots:

step 03 baseline inventory

Video recording:


4. Step 4: Create direct order — ✅ PASS

Section titled “4. Step 4: Create direct order — ✅ PASS”

What this step proves:

A Corveta sales rep orders the product for the ROSS account. Because the account holds owned stock, the order is created as a DIRECT order.

Audit events generated by this step:

(Evidence scoped to step execution window: 2026-09-29T02:31:32.482Z → 2026-09-29T02:31:39.919Z)

TimeTypeActionUserOrgPerformed
2026-09-29 02:31:39Zdecisionrepresentatives.gate_rep_actionblair.bennett@corvetasurgical.comVantisno
2026-09-29 02:31:39Zchecklistchecklists.createblair.bennett@corvetasurgical.comVantis—
2026-09-29 02:31:39Zdecisionorder_request_createdblair.bennett@corvetasurgical.comVantisyes

Screenshots:

step 04 destination

step 04 product quantity

step 04 submitted

Video recording:


What this step proves:

The manufacturer approves the order, creating the fulfillment order. The order detail lists the product but shows no lot yet — lots are stamped by the warehouse at shipment time. The “Direct Order Created” notification email names the product being fulfilled.

Audit events generated by this step:

(Evidence scoped to step execution window: 2026-09-29T02:31:50.316Z → 2026-09-29T02:31:57.372Z)

TimeTypeActionUserOrgPerformed
2026-09-29 02:31:50ZdecisionbasicErp.deriveSalesOrderalex.admin@vantismedical.comVantisno
2026-09-29 02:31:50Zdecisionextensiv_order_push.skipped—Vantisno
2026-09-29 02:31:50Zfulfillment_orderstatus_changealex.admin@vantismedical.comVantis—
2026-09-29 02:31:50Zdecisiontickets.checklist_item_resolve.auto_resolve_ticket—Vantisno
2026-09-29 02:31:50Zfulfillment_orderstatus_changealex.admin@vantismedical.comVantis—
2026-09-29 02:31:51Ztransactional_emaildirect_order_created—Corveta Surgical Group—

Emails triggered by this step:

(Evidence matched by declared name — step timing not available or no events fell in window)

Email 1: Direct Order Created - OR-1-FO-1

Template: Direct_Order_Created_-_OR-1-FO-1

Direct Order Created - OR-1-FO-1

Screenshots:

step 05 approval dialog

step 05 approved no lots

Video recording:


6. Step 6: Import shipping notice — ✅ PASS

Section titled “6. Step 6: Import shipping notice — ✅ PASS”

What this step proves:

The warehouse ASN is imported through the real /packages/upload pipeline: the notice lists the product SKU with its lot (LOT-2025-001234) against the fulfillment order number, with carrier “demo” and a magic DFX tracking number that simulates the carrier feed.

Audit events generated by this step:

(Evidence scoped to step execution window: 2026-09-29T02:32:09.844Z → 2026-09-29T02:32:14.792Z)

TimeTypeActionUserOrgPerformed
2026-09-29 02:32:12Zdecisionrecalculate_order_status—Vantisyes
2026-09-29 02:32:12Zfulfillment_orderstatus_change—Vantis—
2026-09-29 02:32:12Zshipmentstatus_change—Corveta Surgical Group—

Screenshots:

step 06 upload form

step 06 import complete

Video recording:


What this step proves:

The imported lot is now traceable across the chain: the shipping package detail (the lot on the shipped item, against the fulfillment order number) and the fulfillment order detail (the SKU with its shipped lot, “NEURO-DEVICE-001: LOT LOT-2025-001234”), for the same order request.

Screenshots:

step 07 package lots

step 07 fulfillment lots

step 07 order line

Video recording:


8. Step 8: Delivery & inventory increase — ✅ PASS

Section titled “8. Step 8: Delivery & inventory increase — ✅ PASS”

What this step proves:

The demo tracking sequence delivers the package through the same handler a real carrier webhook uses, firing the auto-add-inventory hook: the warehouse lot rises by exactly the shipped quantity, proving received direct-order stock increases inventory with the correct lot.

Screenshots:

step 08 package delivered

step 08 inventory increased

Video recording:


9. Step 9: Bill-only lot entry — ✅ PASS

Section titled “9. Step 9: Bill-only lot entry — ✅ PASS”

What this step proves:

The bill-only form asks for a lot for the tracked product and validates it: continuing without a lot is rejected, and the dropdown offers only the product’s approved lots. The order is submitted with LOT-2025-001234 sourced from the ROSS (Hospital Stock) inventory.

Audit events generated by this step:

(Evidence scoped to step execution window: 2026-09-29T02:32:57.950Z → 2026-09-29T02:33:08.779Z)

TimeTypeActionUserOrgPerformed
2026-09-29 02:33:06Zdecisionbill_only.link_purchase_orderblair.bennett@corvetasurgical.comCorveta Surgical Groupno
2026-09-29 02:33:06Zdecisionbill_only_order.inventory_items_decrementblair.bennett@corvetasurgical.comVantisyes
2026-09-29 02:33:06Zdecisionbill_only_order.direct_po_import_on_createblair.bennett@corvetasurgical.comVantisno
2026-09-29 02:33:06Zbilling_orderstatus_changeblair.bennett@corvetasurgical.comVantis—
2026-09-29 02:33:06ZdecisionbasicErp.deriveSalesOrderblair.bennett@corvetasurgical.comVantisno
2026-09-29 02:33:06Zdecisionbill_only_order.duplicate_submission_blockblair.bennett@corvetasurgical.comCorveta Surgical Groupno
2026-09-29 02:33:06Zscheduled_taskscheduled_task.scheduledblair.bennett@corvetasurgical.comVantis—
2026-09-29 02:33:06Zscheduled_taskscheduled_task.scheduledblair.bennett@corvetasurgical.comVantis—
2026-09-29 02:33:06Zscheduled_taskscheduled_task.scheduledblair.bennett@corvetasurgical.comVantis—
2026-09-29 02:33:06Zdecisionrepresentatives.gate_rep_actionblair.bennett@corvetasurgical.comVantisno
2026-09-29 02:33:06Zdecisionrepresentatives.gate_rep_actionblair.bennett@corvetasurgical.comVantisno
2026-09-29 02:33:07Zdecisionbill_only.notifications.cc_incident_recipients—Vantisno
2026-09-29 02:33:07Ztransactional_emailnew_bill_only—Corveta Surgical Group—

Screenshots:

step 09 lot required

step 09 missing lot rejected

step 09 approved lot options

step 09 submitted

Video recording:


10. Step 10: Bill-only lots & decrement — ✅ PASS

Section titled “10. Step 10: Bill-only lots & decrement — ✅ PASS”

What this step proves:

The submitted bill-only order shows the product line with its lot, and the same lot decrements at the same location — consuming the exact unit the direct order delivered, which closes the warehouse traceability loop.

Screenshots:

step 10 billing order lot

step 10 inventory decremented

Video recording:


What this step proves:

A second bill-only order sources the product from Blair’s trunk using the OTHER approved lot (LOT-2025-005678). Unlike hospital stock, trunk-sourced orders bill the facility, so this order produces the notification emails that evidence the lot, and the trunk lot decrements at TRUNK-36.

Audit events generated by this step:

(Evidence scoped to step execution window: 2026-09-29T02:33:35.230Z → 2026-09-29T02:33:40.830Z)

TimeTypeActionUserOrgPerformed
2026-09-29 02:33:37Zdecisionbill_only_order.duplicate_submission_blockblair.bennett@corvetasurgical.comCorveta Surgical Groupno
2026-09-29 02:33:37Zdecisionbill_only.link_purchase_orderblair.bennett@corvetasurgical.comCorveta Surgical Groupno
2026-09-29 02:33:37Zdecisionrepresentatives.gate_rep_actionblair.bennett@corvetasurgical.comVantisno
2026-09-29 02:33:37Zdecisionrepresentatives.gate_rep_actionblair.bennett@corvetasurgical.comVantisno
2026-09-29 02:33:37Zdecisionbill_only_order.inventory_items_decrementblair.bennett@corvetasurgical.comVantisyes
2026-09-29 02:33:37Zdecisionbill_only_order.direct_po_import_on_createblair.bennett@corvetasurgical.comVantisno
2026-09-29 02:33:37Zbilling_orderstatus_changeblair.bennett@corvetasurgical.comVantis—
2026-09-29 02:33:37ZdecisionbasicErp.deriveSalesOrderblair.bennett@corvetasurgical.comVantisno
2026-09-29 02:33:37Zscheduled_taskscheduled_task.scheduledblair.bennett@corvetasurgical.comVantis—
2026-09-29 02:33:37Zscheduled_taskscheduled_task.scheduledblair.bennett@corvetasurgical.comVantis—
2026-09-29 02:33:37Zscheduled_taskscheduled_task.scheduledblair.bennett@corvetasurgical.comVantis—
2026-09-29 02:33:38Zdecisionbill_only.notifications.cc_incident_recipients—Vantisno
2026-09-29 02:33:38Ztransactional_emailnew_bill_only—Corveta Surgical Group—

Emails triggered by this step:

(Evidence matched by declared name — step timing not available or no events fell in window)

Email 1: New Bill-Only Order - 9/29/2026 - Vantis BO-2

Template: New_Bill-Only_Order_-_9_29_2026_-_Vantis_BO-2

New Bill-Only Order - 9/29/2026 - Vantis BO-2

Email 2: New Bill-Only Order - 9/29/2026 - Vantis BO-3

Template: New_Bill-Only_Order_-_9_29_2026_-_Vantis_BO-3

New Bill-Only Order - 9/29/2026 - Vantis BO-3

Screenshots:

step 11 trunk lot selected

step 11 trunk decremented

Video recording:


12. Step 12: DOF notification email — ✅ PASS

Section titled “12. Step 12: DOF notification email — ✅ PASS”

What this step proves:

The manufacturer sends the Delivered Order Form notification from the bill-only detail page. The DOF email renders the product line with its lot number, proving the lot flows into outbound notifications.

Audit events generated by this step:

(Evidence scoped to step execution window: 2026-09-29T02:33:49.957Z → 2026-09-29T02:34:01.447Z)

TimeTypeActionUserOrgPerformed
2026-09-29 02:33:51Ztransactional_emailbill_only_dof_generated—Corveta Surgical Group—

Emails triggered by this step:

(Evidence matched by declared name — step timing not available or no events fell in window)

Email 1: Delivered Order - 9/29/2026 - Vantis BO-3

Template: Delivered_Order_-_9_29_2026_-_Vantis_BO-3

Delivered Order - 9/29/2026 - Vantis BO-3

Screenshots:

step 12 send notifications

step 12 notifications sent

Video recording:


13. Step 13: Inventory movement history — ✅ PASS

Section titled “13. Step 13: Inventory movement history — ✅ PASS”

What this step proves:

The movements are recorded as a first-class audit trail: inventory-transaction and inventory-history rows for the product — the ASN receipt (+1) and the two bill-only decrements (−1 each) — each with a quantity, a timestamp, a location, and the user who caused it, rendered here directly from the database rows.

Screenshots:

step 13 movement history

Video recording:


14. Step 14: Comprehensive lot traceability — ✅ PASS

Section titled “14. Step 14: Comprehensive lot traceability — ✅ PASS”

What this step proves:

A single consolidated view ties the pillars together for the product: the direct order that received the lot, the shipment that carried it, current inventory by lot/location, and every recorded inventory movement — the end-to-end traceability the requirement demands.

Screenshots:

step 14 traceability

Video recording:


15. Step 15: Cross-user visibility — ✅ PASS

Section titled “15. Step 15: Cross-user visibility — ✅ PASS”

What this step proves:

An admin user (full visibility) opens the same warehouse inventory and sees the identical lot, quantity, and movement — confirming the traceability data is consistent across users.

Screenshots:

step 15 admin visibility

Video recording:


The following SQL queries ran against the application database after the Playwright scenarios completed. Each query asserts a specific condition that proves the feature under test persisted its data correctly.

Product is lot-controlled (policy approved) with a controlled allowed-lot list — ✅ PASS

Section titled “Product is lot-controlled (policy approved) with a controlled allowed-lot list — ✅ PASS”

Assertion: NEURO-DEVICE-001 has lot_policy ‘approved’ and allows exactly LOT-2025-001234, LOT-2025-005678

SELECT p.sku, p.lot_policy, array_agg(al.lot_value ORDER BY al.lot_value) AS lots
FROM org_products p
JOIN org_product_allowed_lots al ON al.org_product_id = p.id
WHERE p.id = $1 GROUP BY p.id, p.sku, p.lot_policy
skulot_policylots
NEURO-DEVICE-001approved["LOT-2025-001234","LOT-2025-005678"]

Direct order for the product is approved and produced a fulfillment order — ✅ PASS

Section titled “Direct order for the product is approved and produced a fulfillment order — ✅ PASS”

Assertion: A direct-type order request for the product is approved with a fulfillment order

SELECT orq.request_number, orq.order_type, orq.status, fo.order_number
FROM order_requests orq
JOIN order_request_items ori ON ori.order_request_id = orq.id AND ori.product_id = $1
LEFT JOIN fulfillment_orders fo ON fo.order_request_id = orq.id
WHERE orq.notes LIKE $2
request_numberorder_typestatusorder_number
OR-1directapprovedOR-1-FO-1

Delivered ASN package carries the SKU + warehouse lot, linked to the fulfillment order — ✅ PASS

Section titled “Delivered ASN package carries the SKU + warehouse lot, linked to the fulfillment order — ✅ PASS”

Assertion: Package item = NEURO-DEVICE-001/LOT-2025-001234, carrier demo, status delivered

SELECT sp.status, sp.carrier, spi.info->>'sku' AS sku, spi.info->>'lot' AS lot, spi.quantity
FROM shipping_packages sp
JOIN shipping_package_items spi ON spi.package_id = sp.id
JOIN shipping_package_fulfillment_orders spfo ON spfo.shipping_package_id = sp.id
JOIN fulfillment_orders fo ON fo.id = spfo.fulfillment_order_id
JOIN order_requests orq ON orq.id = fo.order_request_id
WHERE orq.notes LIKE $1
statuscarrierskulotquantity
delivereddemoNEURO-DEVICE-001LOT-2025-0012341

Warehouse lot returned to baseline after +1 (ASN delivery) and −1 (bill-only) — ✅ PASS

Section titled “Warehouse lot returned to baseline after +1 (ASN delivery) and −1 (bill-only) — ✅ PASS”

Assertion: Warehouse lot LOT-2025-001234 ends at 10

SELECT SUM(quantity_ready)::int AS on_hand
FROM inventory_items
WHERE real_world_location_id = $1 AND product_id = $2 AND lot = $3
on_hand
10

Trunk lot decremented for the billable trunk-sourced bill-only order — ✅ PASS

Section titled “Trunk lot decremented for the billable trunk-sourced bill-only order — ✅ PASS”

Assertion: Trunk lot LOT-2025-005678 ends at 4

SELECT SUM(quantity_ready)::int AS on_hand
FROM inventory_items
WHERE real_world_location_id = $1 AND product_id = $2 AND lot = $3
on_hand
4

Bill-only orders carry the product line with the warehouse and trunk lots — ✅ PASS

Section titled “Bill-only orders carry the product line with the warehouse and trunk lots — ✅ PASS”

Assertion: Bill-only line items exist for lots LOT-2025-001234 and LOT-2025-005678

SELECT boi.lot_number
FROM billing_order_items boi
WHERE boi.product_id = $1 AND boi.lot_number = ANY($2)
ORDER BY boi.lot_number
lot_number
LOT-2025-001234
LOT-2025-005678

Both bill-only orders recorded inventory transactions (source_type bill_only_order) — ✅ PASS

Section titled “Both bill-only orders recorded inventory transactions (source_type bill_only_order) — ✅ PASS”

Assertion: Each bill-only order has a bill_only_order inventory transaction

SELECT it.source_type, it.source_id
FROM inventory_transactions it
WHERE it.source_type = 'bill_only_order' AND it.source_id IN (
SELECT DISTINCT boi.billing_order_id FROM billing_order_items boi
WHERE boi.product_id = $1)
source_typesource_id
bill_only_order01a0eb02-3883-7339-a186-f8abba881284
bill_only_order01a0eb02-b13c-7b1a-a941-68c6e4543a6e

Inventory-history rows record the movements with user + timestamp — ✅ PASS

Section titled “Inventory-history rows record the movements with user + timestamp — ✅ PASS”

Assertion: At least two movement rows exist (receipt + decrements), each with a timestamp; movements are attributed to users

SELECT ih.quantity, ih.status, ih.changed_by, ih.created_at, ii.lot
FROM inventory_history ih
JOIN inventory_items ii ON ii.id = ih.item_id
WHERE ii.product_id = $1
ORDER BY ih.created_at ASC
quantitystatuschanged_bycreated_atlot
1readyNULL2026-09-29T02:32:32.484ZLOT-2025-001234
1ready17b8c9d0-e1f2-3456-1234-5678901234562026-09-29T02:33:06.372ZLOT-2025-001234
1ready17b8c9d0-e1f2-3456-1234-5678901234562026-09-29T02:33:37.288ZLOT-2025-005678

Direct Order Created email names the product — ✅ PASS

Section titled “Direct Order Created email names the product — ✅ PASS”

Assertion: Captured email contains: NEURO-DEVICE-001

Email HTML inspection: a /Direct_Order_Created/ capture must contain NEURO-DEVICE-001
filematched
2026-09-29T02-31-51-801Z-Direct_Order_Created_-_OR-1-FO-1.htmltrue

New Bill-Only email carries the trunk lot — ✅ PASS

Section titled “New Bill-Only email carries the trunk lot — ✅ PASS”

Assertion: Captured email contains: NEURO-DEVICE-001, LOT-2025-005678

Email HTML inspection: a /New_Bill-Only_Order/ capture must contain NEURO-DEVICE-001, LOT-2025-005678
filematched
2026-09-29T02-33-07-501Z-New_Bill-Only_Order_-9_29_2026-_Vantis_BO-2.htmlfalse
2026-09-29T02-33-38-581Z-New_Bill-Only_Order_-9_29_2026-_Vantis_BO-3.htmltrue

Delivered Order (DOF) email carries the trunk lot — ✅ PASS

Section titled “Delivered Order (DOF) email carries the trunk lot — ✅ PASS”

Assertion: Captured email contains: NEURO-DEVICE-001, LOT-2025-005678

Email HTML inspection: a /Delivered_Order/ capture must contain NEURO-DEVICE-001, LOT-2025-005678
filematched
2026-09-29T02-33-51-119Z-Delivered_Order_-9_29_2026-_Vantis_BO-3.htmltrue

Per-declaration outcome of every expectedAuditActions and expectedEmailTemplates entry written into the orchestrator. Missing evidence here is a real test failure, not a soft warning.

Each row asserts that a declared expectedEmailTemplates entry was matched (case-insensitive substring) by a captured email subject or template. A ❌ flips overall status to FAIL.

StepExpected TemplateFound
Step 5: Approve orderDirect Order Created✅
Step 11: Trunk bill-onlyNew Bill-Only Order✅
Step 12: DOF notification emailDelivered Order✅

Every row written to audit_events while this test was running (scoped to the demo organizations). Provides compliance evidence that user actions are traced end-to-end (URS-003).

Capture window start: 2026-09-29T02:30:47.435Z

SELECT
ae.created_at,
ae.event_type,
ae.action,
ae.user_id,
u.email AS user_email,
ae.organization_id,
o.name AS organization_name,
ae.object_id,
ae.secondary_object_id,
ae.payload,
ae.route,
ae.trace_id
FROM audit_events ae
LEFT JOIN users u ON u.id = ae.user_id
LEFT JOIN organizations o ON o.id = ae.organization_id
WHERE ae.created_at >= $1
AND ae.organization_id = ANY($2::uuid[])
ORDER BY ae.created_at ASC

60 event(s) captured:

TimeTypeActionUserOrgObject IDPerformedReason
2026-09-29 02:30:53Zuser_loguser:loginalex.admin@vantismedical.comVantis——
2026-09-29 02:31:01Zuser_loguser:loginalex.admin@vantismedical.comVantis——
2026-09-29 02:31:13Zuser_loguser:loginalex.admin@vantismedical.comVantis——
2026-09-29 02:31:19Zuser_loguser:loginblair.bennett@corvetasurgical.comCorveta Surgical Group——
2026-09-29 02:31:39Zdecisionrepresentatives.gate_rep_actionblair.bennett@corvetasurgical.comVantisa1b2c3d4-e5f6-7890-abcd-ef1234567890nono_blocking_relationship
2026-09-29 02:31:39Zchecklistchecklists.createblair.bennett@corvetasurgical.comVantis01a0eb00-e58a-71be-9f55-78c5b8bbb40d—
2026-09-29 02:31:39Zdecisionorder_request_createdblair.bennett@corvetasurgical.comVantis01a0eb00-e573-7257-9c10-390d400801c6yesOrder request OR-1 created (importSource=manual)
2026-09-29 02:31:42Zuser_loguser:loginalex.admin@vantismedical.comVantis——
2026-09-29 02:31:50ZdecisionbasicErp.deriveSalesOrderalex.admin@vantismedical.comVantis01a0eb00-e573-7257-9c10-390d400801c6noflag_disabled
2026-09-29 02:31:50Zdecisionextensiv_order_push.skipped—Vantis01a0eb01-120a-710d-8487-a6619232af8enowms_feature_flag_disabled
2026-09-29 02:31:50Zfulfillment_orderstatus_changealex.admin@vantismedical.comVantis01a0eb01-120a-710d-8487-a6619232af8e—Fulfillment order created from approved items
2026-09-29 02:31:50Zdecisiontickets.checklist_item_resolve.auto_resolve_ticket—Vantis01a0eb00-e594-70d2-a517-e07caf608507noChecklist item is not linked to any ticket.
2026-09-29 02:31:50Zfulfillment_orderstatus_changealex.admin@vantismedical.comVantis01a0eb01-120a-710d-8487-a6619232af8e—Order automatically submitted for fulfillment
2026-09-29 02:31:51Ztransactional_emaildirect_order_created—Corveta Surgical Group01a0eb01-120a-710d-8487-a6619232af8e—
2026-09-29 02:32:00Zuser_loguser:loginalex.admin@vantismedical.comVantis——
2026-09-29 02:32:12Zdecisionrecalculate_order_status—Vantis01a0eb00-e573-7257-9c10-390d400801c6yesShipping status updated from null to shipped
2026-09-29 02:32:12Zfulfillment_orderstatus_change—Vantis01a0eb01-120a-710d-8487-a6619232af8e—All items shipped
2026-09-29 02:32:12Zshipmentstatus_change—Corveta Surgical Group01a0eb01-6589-7663-8df0-cb0c9bda0447—Carrier tracking update
2026-09-29 02:32:16Zuser_loguser:loginalex.admin@vantismedical.comVantis——
2026-09-29 02:32:17Zshipmentstatus_change—Corveta Surgical Group01a0eb01-6589-7663-8df0-cb0c9bda0447—Carrier tracking update
2026-09-29 02:32:24Zuser_loguser:loginalex.admin@vantismedical.comVantis——
2026-09-29 02:32:32Zshipmentstatus_change—Corveta Surgical Group01a0eb01-6589-7663-8df0-cb0c9bda0447—Carrier tracking update
2026-09-29 02:32:32Zdecisionauto_add_delivered_package_items—Corveta Surgical Group01a0eb01-6589-7663-8df0-cb0c9bda0447yesDestination location auto-adds delivered package items
2026-09-29 02:32:32Zdecisionenable_team_tracked_inventory_routing—Corveta Surgical Group01a0eb01-6589-7663-8df0-cb0c9bda0447noPackage linked to direct order
2026-09-29 02:32:32Zdecisionrecalculate_order_status—Vantis01a0eb00-e573-7257-9c10-390d400801c6yesShipping status updated from shipped to delivered
2026-09-29 02:32:32Zfulfillment_orderstatus_change—Vantis01a0eb01-120a-710d-8487-a6619232af8e—All items delivered
2026-09-29 02:32:41Zuser_loguser:loginblair.bennett@corvetasurgical.comCorveta Surgical Group——
2026-09-29 02:32:53Zdecisionbill_only_order.duplicate_submission_blockblair.bennett@corvetasurgical.comCorveta Surgical Groupfea7b8c9-d0e1-2345-0123-456789012345nono_same_day_candidates
2026-09-29 02:33:06Zdecisionbill_only.link_purchase_orderblair.bennett@corvetasurgical.comCorveta Surgical Group01a0eb02-3883-7339-a186-f8abba881284nono_purchase_order_selected
2026-09-29 02:33:06Zdecisionbill_only_order.inventory_items_decrementblair.bennett@corvetasurgical.comVantis01a0eb02-3883-7339-a186-f8abba881284yesinventory_items_decremented
2026-09-29 02:33:06Zdecisionbill_only_order.direct_po_import_on_createblair.bennett@corvetasurgical.comVantis01a0eb02-3883-7339-a186-f8abba881284noNo uploaded PO documents
2026-09-29 02:33:06Zbilling_orderstatus_changeblair.bennett@corvetasurgical.comVantis01a0eb02-3883-7339-a186-f8abba881284—
2026-09-29 02:33:06ZdecisionbasicErp.deriveSalesOrderblair.bennett@corvetasurgical.comVantis01a0eb02-3883-7339-a186-f8abba881284noflag_disabled
2026-09-29 02:33:06Zdecisionbill_only_order.duplicate_submission_blockblair.bennett@corvetasurgical.comCorveta Surgical Groupfea7b8c9-d0e1-2345-0123-456789012345nono_same_day_candidates
2026-09-29 02:33:06Zscheduled_taskscheduled_task.scheduledblair.bennett@corvetasurgical.comVantis01a0eb02-389c-71ad-a5c3-293b2445fb37—
2026-09-29 02:33:06Zscheduled_taskscheduled_task.scheduledblair.bennett@corvetasurgical.comVantis01a0eb02-38a0-74ae-b402-145ef4427acd—
2026-09-29 02:33:06Zscheduled_taskscheduled_task.scheduledblair.bennett@corvetasurgical.comVantis01a0eb02-38a3-73e6-91da-f6034cc545a3—
2026-09-29 02:33:06Zdecisionrepresentatives.gate_rep_actionblair.bennett@corvetasurgical.comVantisa1b2c3d4-e5f6-7890-abcd-ef1234567890nono_blocking_relationship
2026-09-29 02:33:06Zdecisionrepresentatives.gate_rep_actionblair.bennett@corvetasurgical.comVantisa1b2c3d4-e5f6-7890-abcd-ef1234567890nono_blocking_relationship
2026-09-29 02:33:07Zdecisionbill_only.notifications.cc_incident_recipients—Vantis01a0eb02-3883-7339-a186-f8abba881284noorder has no no-charge item with an incident reason
2026-09-29 02:33:07Ztransactional_emailnew_bill_only—Corveta Surgical Group01a0eb02-3883-7339-a186-f8abba881284—
2026-09-29 02:33:10Zuser_loguser:loginblair.bennett@corvetasurgical.comCorveta Surgical Group——
2026-09-29 02:33:17Zuser_loguser:loginblair.bennett@corvetasurgical.comCorveta Surgical Group——
2026-09-29 02:33:28Zdecisionbill_only_order.duplicate_submission_blockblair.bennett@corvetasurgical.comCorveta Surgical Groupfea7b8c9-d0e1-2345-0123-456789012345noall_candidates_vetoed
2026-09-29 02:33:37Zdecisionbill_only_order.duplicate_submission_blockblair.bennett@corvetasurgical.comCorveta Surgical Groupfea7b8c9-d0e1-2345-0123-456789012345noall_candidates_vetoed
2026-09-29 02:33:37Zdecisionbill_only.link_purchase_orderblair.bennett@corvetasurgical.comCorveta Surgical Group01a0eb02-b13c-7b1a-a941-68c6e4543a6enono_purchase_order_selected
2026-09-29 02:33:37Zdecisionrepresentatives.gate_rep_actionblair.bennett@corvetasurgical.comVantisa1b2c3d4-e5f6-7890-abcd-ef1234567890nono_blocking_relationship
2026-09-29 02:33:37Zdecisionrepresentatives.gate_rep_actionblair.bennett@corvetasurgical.comVantisa1b2c3d4-e5f6-7890-abcd-ef1234567890nono_blocking_relationship
2026-09-29 02:33:37Zdecisionbill_only_order.inventory_items_decrementblair.bennett@corvetasurgical.comVantis01a0eb02-b13c-7b1a-a941-68c6e4543a6eyesinventory_items_decremented
2026-09-29 02:33:37Zdecisionbill_only_order.direct_po_import_on_createblair.bennett@corvetasurgical.comVantis01a0eb02-b13c-7b1a-a941-68c6e4543a6enoNo uploaded PO documents
2026-09-29 02:33:37Zbilling_orderstatus_changeblair.bennett@corvetasurgical.comVantis01a0eb02-b13c-7b1a-a941-68c6e4543a6e—
2026-09-29 02:33:37ZdecisionbasicErp.deriveSalesOrderblair.bennett@corvetasurgical.comVantis01a0eb02-b13c-7b1a-a941-68c6e4543a6enoflag_disabled
2026-09-29 02:33:37Zscheduled_taskscheduled_task.scheduledblair.bennett@corvetasurgical.comVantis01a0eb02-b150-7a2d-bd20-23bc37e25802—
2026-09-29 02:33:37Zscheduled_taskscheduled_task.scheduledblair.bennett@corvetasurgical.comVantis01a0eb02-b153-7c3e-8ea8-5429e80dd851—
2026-09-29 02:33:37Zscheduled_taskscheduled_task.scheduledblair.bennett@corvetasurgical.comVantis01a0eb02-b156-7008-a018-030d1a0e8c35—
2026-09-29 02:33:38Zdecisionbill_only.notifications.cc_incident_recipients—Vantis01a0eb02-b13c-7b1a-a941-68c6e4543a6enoorder has no no-charge item with an incident reason
2026-09-29 02:33:38Ztransactional_emailnew_bill_only—Corveta Surgical Group01a0eb02-b13c-7b1a-a941-68c6e4543a6e—
2026-09-29 02:33:43Zuser_loguser:loginalex.admin@vantismedical.comVantis——
2026-09-29 02:33:51Ztransactional_emailbill_only_dof_generated—Corveta Surgical Group01a0eb02-b13c-7b1a-a941-68c6e4543a6e—
2026-09-29 02:34:10Zuser_loguser:loginalex.admin@vantismedical.comVantis——

4 notification email(s) were captured during this test run. Each email is rendered as a screenshot for compliance review.

Template: Direct_Order_Created_-_OR-1-FO-1

Direct Order Created - OR-1-FO-1

2. New Bill-Only Order - 9/29/2026 - Vantis BO-2

Section titled “2. New Bill-Only Order - 9/29/2026 - Vantis BO-2”

Template: New_Bill-Only_Order_-_9_29_2026_-_Vantis_BO-2

New Bill-Only Order - 9/29/2026 - Vantis BO-2

3. New Bill-Only Order - 9/29/2026 - Vantis BO-3

Section titled “3. New Bill-Only Order - 9/29/2026 - Vantis BO-3”

Template: New_Bill-Only_Order_-_9_29_2026_-_Vantis_BO-3

New Bill-Only Order - 9/29/2026 - Vantis BO-3

4. Delivered Order - 9/29/2026 - Vantis BO-3

Section titled “4. Delivered Order - 9/29/2026 - Vantis BO-3”

Template: Delivered_Order_-_9_29_2026_-_Vantis_BO-3

Delivered Order - 9/29/2026 - Vantis BO-3