← Home

Procurement Connect

Procurement Connect for Suppliers


# Article base & prices

An article base (opens new window) is a set of objects which represents what a customer can purchase using Procurement. API integrators using Procurement would need to carefully arrange their data to conform to the structures of Article, Variant and SKU.

Procurement Connect, however, handles a lot of this complexity for you. We will first agree how to translate your proprietary product files into Procurement entities, and then write a parser which translates that data automatically when you send it to us. Procurement Connect will also handle creating, updating and removing old article information over time.

# Generating the files

From the Supplier side, we only need an export of your data. Our preferred way to receive this data is in a UTF-8 encoded CSV file format to a secure location where we can download it. Ideally, the export is generated automatically from your system (for example, on a nightly schedule), but a manual process is also achievable here.

There are two types of file we need in this export from your system:

  1. Articles (a set of products that you wish to sell through Procurement). At the moment, we only support substrate (i.e. paper), but we plan to support plates, inks, and other types over the coming months. The article case is shared between every customer, however customers can only see the articles when there is also a price for that article (see below).

  2. The pricing file, one per customer. The pricing file relates prices to sales groups, which defines the visibility of the articles: once setup, we can support most complex pricing scenarios like quantity breaks, availability windows, minimum/maximum order sizes, etc.

We would need to receive the articles file first, and we'll hold off from parsing the pricing files until the articles have been fully imported.

Please see the appendix for exactly which article/price data we need in these files.

# Sending the files

Once the file has been generated, it needs to be shared with us. Our preferred solution is to receive these files using an upload to an Amazon S3 bucket that we control.

Note: we chose Amazon S3 since it has libraries available in most programming languages, as well as command-line tools available for Windows, Mac & Linux. In the worst case scenario you can even make a HTTP POST request using something like cURL.

You will get write access to a single folder in our bucket, and you can generate/manage your private credentials, using our web interface, like so:

Screenshot of the AWS Credentials screen

It's also possible to manually upload a file to us directly using the web interface.

From our side, we will read the data from that bucket as soon as any upload has completed, and then begin to import it.

# Checking the status

Our system translates a file into an Import object, splitting the file into individual rows for processing, before converting and transmitting each row separately. This gives the developers tremendous visibility into individual failures (e.g. validation failures on certain rows), as well as the ability to investigate and retry segments which caused issues.

The following screenshots show a work-in-progress version of the Imports view:

Screenshot of the Import screen

In this Import above, we "skipped" 4034 lines because they contained information about unsupported products (e.g. cardboard boxes). This is completely fine, and over time as we add support for more product types, we'll update our software to also handle those extra types in your exports.

Screenshot of an individual Import Entry

This line shows a success state: we found all of the article data in Procurement already, so no change was necessary. Clicking one of the links at the top shows the actual data that Procurement currently holds about those articles, variants or SKUs.