When preparing your data files for upload (whether that is for manual upload via the Web Uploader in the application, or through an automatic import using the Email Data Import integration), there are some things you need to be aware of.
File Requirements
Files should be in a csv (comma separated values) format and should contain a maximum of 50000 rows only (large data sets should be broken into multiple files).
A Sales Data Template can be downloaded here and used to populate your data.
Field Descriptions
There are several fields that will be required (those with an asterisk) in order for your sales data to be imported, however there are optional fields that you may also want to consider sending to provide more data for analysis and segmentation.
Field | Type & Length | Description |
Customer Name* | String 200 | This is the name that will display in the application |
Customer ID* | String 100 | Every Customer needs a unique Customer ID - no two customers can share an ID |
Product ID* | String 200 | SKU's must be unique for each product. Every line item is to have a SKU number. |
Description* | String 200 | Product title or name |
Product Group* | String 200 | Category or department of the product |
Transaction* | String 200 | Every invoice or credit memo must have a unique identifier |
Date* | Datetime | This is the date and time of the transaction - it is important to ensure this is correctly calculated. See Date formats below |
Line ID* | String 50 | Every line item on the document must have a different Line ID |
Units* | Numeric (double) | Quantity of line item |
Amount* | Numeric (double) | Total Amount for line item in invoice |
Unit Price | Numeric (double) | Base price of line item. |
Sales Rep | String 200 | Account manager assigned to this customer |
Project Id | String 200 | If Customers also have projects/jobs or accounts. This must be unique - no two projects can share an ID |
Project Name | String 200 | If Customers also have projects/jobs or accounts. This is to be the name of the project - not the Customer Name. |
Global SKU | String 200 | A supplier or manufacturer product ID |
GP Margin | Numeric (double) | Gross Profit amount at line item level |
Status | String 200 | Invoice status. Valid values: Pending or Completed |
Brand Name | String 200 | Brand name - can be used for segmentation and filtering |
Brand ID | String 200 | Brand identifier - must be unique |
Supplier Name | String 200 | Supplier or Manufacturer - can be used for segmentation and filtering |
Supplier ID | String 200 | Supplier identifier - must be unique |
Delivery Address | String 200 | Client delivery address - displayed on invoice |
Sales Field 1 | String 200 | Custom Sales Data Field - can be used for filtering / segmentation |
Sales Field 2 | String 200 | Custom Sales Data Field - can be used for filtering / segmentation |
Sales Field 3 | String 200 | Custom Sales Data Field - can be used for filtering / segmentation |
Sales Field 4 | String 200 | Custom Sales Data Field - can be used for filtering / segmentation |
Date Formats
For Web Uploader, the currently accepted formats for the Date field in CSV files are:
Format | Legend |
yyyy-MM-ddTHH:mm:ss | This assumes the company timezone |
yyyy-MM-dd HH:mm:ssZ | This assumes that the time is UTC offset (i.e. +0:00) |
For Email Droporter, you can specify in the setup what your datetime format is.
Best Practices
Numerik strongly recommends that any integration follows these best practices:
Take care with timezones in date/time fields. An incorrect timezone can lead to sales appearing on incorrect days/months/quarters/years, leading to incorrect sale totals and confusion among users.
Any high-quality integration must be resilient to transient faults, and integrations with Numerik are no exception. Integrations should be structured to support error handling and retry any imports that fail. It is the responsibility of the sender to review any error email reports and action resolutions as required.
For long-lasting transient faults, you will need to ensure consistency between Numerik and your source system once the fault is resolved.
You can perform bulk loads of historical data to re-sync systems and resolve data integrity issues as a result of any bugs or faults using the Web Uploader.