It is possible to load various types of information and data to Fourth's Purchase to Pay product (formerly known as Trade Simple). Both customers and suppliers can use this functionality to import documents that largely correspond with paper-based equivalents, for example - Product Catalogues, Purchase Orders, Delivery Notes or Invoices. These documents are in CSV format.
This guide defines the contents and rules governing the sending of Order Confirmations via Purchase to Pay where the basic Fourth flat file format has been selected.
This article is aimed at the UK-based technical reader, and a working familiarity with CSV files is essential.
Please follow this link to see a full list of articles covering the creation of other CSV files that can be loaded to Purchase to Pay - P2P&I - Purchase to Pay CSV Specification - Contents Page
General Notes on all CSV Documents
Each record is one line. A record separator should consist of a line feed (ASCII/LF=0x0A), or a carriage return and line feed pair (ASCII/CRLF=0x0D 0x0A).
Fields are separated with commas.
Restrictions on the Fields Data
- Fields with embedded commas must be delimited with double-quote characters. Ex: Field,Data should be sent across within double quotes as “Field,Data”
- Fields containing double-quote characters must be surrounded by double-quotes, and the embedded double-quotes must each be represented by a pair of consecutive double quotes. Ex: Field”Data should be sent across as “Field””Data”
- Fields with leading or trailing spaces must be delimited with double-quote characters Ex: FieldData should be sent across within double quotes as “ FieldData ”
- Fields containing any special characters (characters other than alphabets (a-z or A-Z) and numerals (0-9)) should be embedded within double quotes
- Fields may always be delimited with double quotes and the delimiters will always be discarded. Please note: The system will not use the quotes to impart type information to fields imported
- The first record in a CSV file should be data and not a header record containing column (field) names
- Optional elements at the end of any line and their delimiters can be omitted but delimiters are necessary when optional elements are omitted “within” a line.
Tables in this article use the following fields to indicate whether a field is mandatory, optional, or otherwise.
- M – Mandatory, must be provided
- O – Optional, should be provided if appropriate
- C – Conditional, should be provided under certain circumstances. The notes next to the field will describe exactly when the field should be provided
- D – The system requires this field, but will derive it if not provided
Numeric Data Elements
All numeric data elements must have any decimal point explicitly stated. A negative value may be sent by placing a minus sign before the number, e.g. –1250.02. A decimal point is not needed where the decimal part is equal to zero, e.g. 15.00 may be formatted as 15.
Text Data Elements
The appropriate separator should terminate all variable-length text data elements without trailing spaces or any other “padding” character. Double-quotes may be used to define and enclose single text data elements. Please refer “Restrictions on the fields data” section above for more details.
The date field format in these documents must always be YYYYMMDD unless otherwise stated.
Order Confirmations (sent to Purchase to Pay)
The system expects suppliers to respond to each order with a confirmation showing a “reasonable expectation” of what is intended to be delivered.
Each file must contain:
- Exactly one Order Confirmation document
Each Order Confirmation document must contain:
- Exactly one Confirmation Header Line
- 1 Confirmation detail line for each line in the original Order
- 1 Confirmation detail line for each substitution
The system expects suppliers to take each line in the original order and respond to it. Each confirmation line may take one of the following statuses:
- Accept (the line will be delivered in full)
- Change (quantity or price changed)
- Reject (the line will not be delivered)
For any lines which are requested or changed, a substitute or replacement product may be included. Substitute or replacement lines have a status of 'Add' (a substitute product as agreed by trading partner) and must show both the substitute product code and the original product code. The substitute line is best placed immediately after the rejected/changed line, but the system does not mandate this.
Order Confirmation Header Line
Each file will contain a single order header line as the first row in the file.
Order Confirmation Detail Line
Each Order will contain one or more order detail lines.
Example Order Confirmation
D,A,WE0001,,Tropical Fruit Drink,24x330ml,,5,12.70,63.50
D,R,WE0002,,Rum Punch Barrel,Each,,0,23.45,0,”Not available”
D,S,WE0009,WE0002,Rum Punch Box,Each,0,1,12.40,12.40,”Substituted product”