Uploading purchase order headers

This document details the process and field validation rules for uploading Purchase Orders (PO) header information using a CSV input file. Each PO header generates a new purchase order in the system. You can also use this file to cancel previously ordered POs.

To ensure proper data mapping and consistency, the input file must adhere to a specific template, including exact matches and correct ordering of header fields. This validation process, along with error handling, streamlines PO creation or cancellation by accepting only valid data, thereby maintaining data integrity and providing clear user feedback.

Usage considerations

  • Any file name can be used.
  • The file header contents and column order must be identical to the sample template. No empty columns for spacing are permitted.
Restriction:
  • English is the only supported language for inventory content.
  • No deletion is possible.
  • Each purchase order number must be unique and not already present in the system.

Sample template

You can download a sample purchaseorder-header.csv file, whose contents are as follows..

PURCHASEORDER_NUMBER

VENDOR_REFERENCE

ORDEREDDATE

ADDRESS

STATUS

PO12347 HCL-VND-PT-001 2025-02-11T10:00:00Z 1234, My St, Springfield, IL, USA,56789
PO12348 HCL-VND-PT-001 2025-03-15T14:30:00Z 5678, Your Ave, Dallas, TX, USA,12345 open
Where:
PURCHASEORDER_NUMBER
Mandatory: Each record must include a unique and valid PURCHASEORDER_NUMBER free text field. The record must not already exist in the system, unless its current status is 'cancelled'. This alphanumeric field has a fixed length of 255 characters. If the PURCHASEORDER_NUMBER is invalid, an error message such as "Invalid value for parameter PURCHASEORDER_NUMBER" will be generated.
VENDOR_REFERENCE
Mandatory: This free text field must contain a valid vendor identifier. The value provided must precisely match an active vendor that is not marked for deletion within the inventory system. Should the vendor not exist or be inactive, an error message indicating "Invalid value for parameter VENDOR" will be returned.
ORDEREDDATE
Mandatory: This is a date field and must be included in each record. This field should be in a date format, not a timestamp, and must represent a valid past or current date. Future dates are not permitted, except for dates within 24 hours to account for potential timestamp differences. If the provided ORDEREDDATE is in the future or otherwise invalid, an error message is generated.
ADDRESS
Optional: The address must be a comma-separated list of components (e.g., addressline1, street, city, state/province, country, zip code). It must not exceed a maximum length of 1000 characters. Errors will be triggered, such as "Invalid value for parameter ADDRESS," if the address exceeds the maximum length or is incorrectly formatted. If no value is supplied, this value will default to null in the database.
STATUS
Optional: If the status is left blank during creation, the PO will be created with an "OPEN" status. Subsequent state updates are managed by the system (e.g., to "CANCELLED"). If the status is explicitly set to "CANCELLED" and the PO exists, it will be cancelled; otherwise, an error will occur. The system will trigger an error if resolution fails.