Common EPCIS Errors and Solutions
This troubleshooting guide addresses the most common EPCIS implementation issues encountered in pharmaceutical track and trace systems.
Schema Validation Errors
Error: Invalid Event Time Format
Error: eventTime '2024-01-15 10:30:00' does not match expected format
Solution: Use ISO 8601 format with timezone:
2024-01-15T10:30:00.000Z
2024-01-15T10:30:00+04:00
Error: Unknown Business Step
Error: bizStep 'shipping' is not a valid CBV value
Solution: Use full CBV URI:
urn:epcglobal:cbv:bizstep:shipping
Identifier Errors
Error: Invalid GTIN Check Digit
Error: GTIN 00614141123451 has invalid check digit
Solution: Recalculate using Modulo 10 algorithm. Correct GTIN: 00614141123452
Error: Invalid EPC URI Format
Error: 'sgtin:0614141.012345.1' is not a valid EPC URI
Solution: Include full URN prefix:
urn:epc:id:sgtin:0614141.012345.1
Aggregation Errors
Error: Child Already Has Parent
Error: SGTIN 0614141.012345.1 is already aggregated to SSCC 0614141.0000000001
Solution: Send DELETE event for old parent before ADD to new parent.
Error: Parent-Child Type Mismatch
Error: SGTIN cannot be parent of SSCC
Solution: Verify hierarchy: SSCC -> SSCC -> SGTIN
Timing Errors
Error: Event Time Before Commission
Error: Shipping event at 10:00 before commission at 11:00
Solution: Ensure chronological event order. Check system clock sync.
Error: Future Event Time
Error: Event time 2025-01-15 is in the future
Solution: Check system timezone settings. Use UTC.
Portal Submission Errors
Error: Unknown GLN
Error: GLN 0614141000015 not registered in system
Solution: Register all GLNs with the regulatory portal before use.
Error: Product Not Registered
Error: GTIN 00614141123452 not found in product master
Solution: Register product with country portal before serialization.
Debugging Checklist
Error Declaration
When corrections are needed, use EPCIS Error Declaration:
<ObjectEvent>
<errorDeclaration>
<declarationTime>2024-01-16T10:00:00Z</declarationTime>
<reason>urn:epcglobal:cbv:er:incorrect_data</reason>
</errorDeclaration>
<!-- corrected event data -->
</ObjectEvent>