23.11.2012 Views

A guide to integrating your Brightpearl system with a 3rd party ...

A guide to integrating your Brightpearl system with a 3rd party ...

A guide to integrating your Brightpearl system with a 3rd party ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

A <strong>guide</strong> <strong>to</strong> <strong>integrating</strong> <strong>your</strong><br />

<strong>Brightpearl</strong> <strong>system</strong> <strong>with</strong> a <strong>3rd</strong><br />

<strong>party</strong> warehousing or fulfilment<br />

solution<br />

Version 1.0


The scenario<br />

Your staff use <strong>Brightpearl</strong> for CRM, Accounting and Sales Order Processing. You don’t carry<br />

any s<strong>to</strong>ck on-site; it’s all managed by another fulfilment company who are using their own<br />

<strong>system</strong>. You place Purchase Orders <strong>with</strong> <strong>your</strong> suppliers, and the s<strong>to</strong>ck is delivered direct <strong>to</strong> the<br />

fulfilment house.<br />

● You need <strong>to</strong> tell the fulfilment company what <strong>to</strong> ship <strong>to</strong> cus<strong>to</strong>mers on a regular basis<br />

● They ship the goods and need <strong>to</strong> give you confirmation and tracking information<br />

● You need <strong>to</strong> know how much s<strong>to</strong>ck you have available in order <strong>to</strong> process sales<br />

effectively<br />

● They need <strong>to</strong> communicate <strong>with</strong> you when items arrive from supplier<br />

Integrating <strong>with</strong> <strong>Brightpearl</strong><br />

Let’s break this up in<strong>to</strong> 4 communication lines; Inven<strong>to</strong>ry, Sales, Purchasing, Corrections<br />

1. Inven<strong>to</strong>ry<br />

The warehouse should have their own strict processes for inven<strong>to</strong>ry management. Your team<br />

also need <strong>to</strong> know what’s in s<strong>to</strong>ck and what’s available. Both their <strong>system</strong>s AND <strong>your</strong><br />

<strong>Brightpearl</strong> <strong>system</strong> should stay in synchronisation if processes are followed correctly. Your<br />

sales and accounts teams work <strong>with</strong> the <strong>Brightpearl</strong> database, which will make all the<br />

accounting transactions au<strong>to</strong>matically for you.<br />

Inven<strong>to</strong>ry levels are simply the sum of Purchase Orders (goods in) and Sales Orders (goods<br />

out), along <strong>with</strong> any corrections that may have been made along the way. Once opening<br />

balances are entered in<strong>to</strong> both <strong>system</strong>s, it’s really important <strong>to</strong> keep data input as up <strong>to</strong> date<br />

as possible! Au<strong>to</strong>mation of the <strong>system</strong>s really helps.<br />

All of <strong>Brightpearl</strong>’s inven<strong>to</strong>ry control is available over our Warehouse API.<br />

2. Sales<br />

The <strong>Brightpearl</strong> sales order screen lets you “fulfil” the sale, which creates one or more “goodsout<br />

notes” (sometimes called packing notes or delivery notes). The Goods-out note is the<br />

carrier of information between sales and warehouse; it’s the document that says “ship<br />

products A, B, C <strong>to</strong> cus<strong>to</strong>mer X”.<br />

The reason that you use Goods-notes <strong>to</strong> communicate <strong>with</strong> the warehouse is that there is a<br />

strict process around printing, picking, packing and shipping that prevents duplicated<br />

processing. Once a goods-note has been marked as printed (or picked, packed) then<br />

<strong>Brightpearl</strong> won’t let you run that process again. You’d need <strong>to</strong> “unprint” and then reprint. It’s<br />

also impossible <strong>to</strong> edit the contents of a goods-note; so no mistakes when a salesperson<br />

changes an order once it’s been sent <strong>to</strong> the warehouse.


In the scenario where you want <strong>to</strong> add further items <strong>to</strong> a sales order once you’ve fulfilled<br />

(created the goods note), you just add extra items and then re-fulfil <strong>to</strong> create a second goods<br />

note for the same order.<br />

You need <strong>to</strong> get the Goods-notes <strong>to</strong> the warehouse quickly and accurately via a method that<br />

their <strong>system</strong>s can understand.<br />

1. API : a <strong>3rd</strong> <strong>party</strong> solution could query the <strong>Brightpearl</strong> servers directly using a<br />

combination of the Goods-Out note SEARCH and the Goods-out note GET message,<br />

and extract a selection of Goods-notes in JSON format. This would need <strong>to</strong> be<br />

translated in<strong>to</strong> a format that the warehouse <strong>system</strong> understands, and would require that<br />

you engage <strong>your</strong> own developer. Once translated from the <strong>Brightpearl</strong> format the<br />

Goods-Out notes would be injected in<strong>to</strong> the warehousing <strong>system</strong> au<strong>to</strong>matically.<br />

Tip: Your integration should query <strong>Brightpearl</strong> using the search <strong>to</strong> find all goods-out<br />

notes that have not yet been printed (or picked). When <strong>your</strong> warehousing solution has<br />

imported the goods-out note successfully, you can mark it as printed (or picked) in<br />

<strong>Brightpearl</strong>, so that next time you search for goods notes the imported ones are not<br />

given.<br />

2. CSV : export of Goods-out notes as a CSV file is not currently supported from<br />

<strong>Brightpearl</strong>, but we’re working on it.<br />

3. Email : You can email PDF or HTML goods-notes <strong>to</strong> the warehouse using the print icon<br />

on the goods-note listing screen. Once you’ve sent them, we suggest you mark them as<br />

“printed”; you can’t mark them as printed again unless you unprint so you have a<br />

method of preventing double shipments. The email will contain a CSV copy of the<br />

Goods-Out note <strong>to</strong>o.<br />

Printing paperwork for sales / goods notes<br />

<strong>Brightpearl</strong> has powerful templating facilities that you might want the warehousing company <strong>to</strong><br />

include in <strong>with</strong> the package. They will no doubt have their own paperwork <strong>to</strong>o. If you email a<br />

PDF or HTML goods note then they can print and include this for you. You could even give<br />

them a login <strong>to</strong> <strong>your</strong> <strong>Brightpearl</strong> <strong>system</strong> so that they can process goods notes au<strong>to</strong>nomously.<br />

Updating s<strong>to</strong>ck<br />

When the order has shipped from the warehouse, it needs <strong>to</strong> communicate this <strong>to</strong> <strong>Brightpearl</strong>.<br />

1. API : <strong>your</strong> developer can build code <strong>to</strong> interface <strong>with</strong> the warehouse solution and use<br />

the Goods-Out note PUT message <strong>to</strong> mark the goods note as “shipped” in <strong>Brightpearl</strong>.<br />

This will remove the items from s<strong>to</strong>ck and make any accounting entries required. You


can also add the tracking reference <strong>to</strong> the Goods note over API.<br />

2. Manual update : <strong>your</strong> warehouse sends a list of all goods-notes shipped, which you<br />

manually mark as “shipped” on the goods-note listing screen in <strong>Brightpearl</strong>. You can<br />

enter the tracking reference in the <strong>Brightpearl</strong> interface <strong>to</strong>o.<br />

3. Purchases<br />

When you place a Purchase Order <strong>with</strong> <strong>your</strong> supplier, you should send a copy <strong>to</strong> the<br />

warehouse <strong>to</strong>o so that they have a record <strong>to</strong> match against the goods when they arrive.<br />

Currently you can send it by HTML or PDF from the email/print screen, or else filter the<br />

Purchase Order detail report <strong>to</strong> show just one Purchase Order and export it <strong>to</strong> Excel.<br />

You could also build a <strong>system</strong> <strong>to</strong> query <strong>Brightpearl</strong> over API for the new Purchase Order, using<br />

the Order GET message.<br />

The warehouse will load this Purchase Order in<strong>to</strong> their <strong>system</strong>, and send you notification when<br />

the goods arrive:<br />

1. API : Your developer can use the Goods-in note POST <strong>to</strong> record items on a <strong>Brightpearl</strong><br />

Purchase Order as received. This requires that you have the <strong>Brightpearl</strong> information<br />

from the original Purchase Order available <strong>to</strong>o (since the POST message needs <strong>to</strong> send<br />

the <strong>Brightpearl</strong> PurchaseOrderRowId) - you can collect the Purchase Order from<br />

<strong>Brightpearl</strong> using the Order GET message. Accounting transactions will be made<br />

au<strong>to</strong>matically for the goods’ asset value if you’re using Cost of Sales accounting<br />

(Goods-in = an increase in asset value on <strong>your</strong> Balance Sheet)<br />

If there are more items received than on the original Purchase Order, you’d need <strong>to</strong> use<br />

the OrderRow POST message <strong>to</strong> add further rows <strong>to</strong> the PO before receiving the goods.<br />

You can’t currently remove or edit row quantities on Purchase Orders over API.<br />

Alternatively you can mark the Purchase order as received, and then make a s<strong>to</strong>ck<br />

correction for the difference, using the S<strong>to</strong>ck Correction POST message.<br />

2. Manual : Find the Purchase Order in <strong>Brightpearl</strong> and mark the s<strong>to</strong>ck as received. You<br />

can amend the Purchase Order items <strong>to</strong> match those actually received if required.<br />

Accounting transactions for the asset value will be made if you’re using Cost of Sales<br />

accounting.<br />

4. Corrections<br />

When an adjustment is made <strong>to</strong> inven<strong>to</strong>ry levels in the warehouse, the warehouse team need<br />

<strong>to</strong> tell you in order that you can update <strong>Brightpearl</strong> <strong>to</strong>o.


1. API : S<strong>to</strong>ck corrections can be made au<strong>to</strong>matically in <strong>Brightpearl</strong> using the S<strong>to</strong>ck<br />

correction POST message. Accounting transactions will au<strong>to</strong>matically be made for the<br />

cost value of the s<strong>to</strong>ck if you’re using Cost of Sales accounting. This means <strong>your</strong><br />

accounts and Balance Sheet will be up <strong>to</strong> date all the time. When you POST a s<strong>to</strong>ck<br />

correction in<strong>to</strong> <strong>Brightpearl</strong>, you need <strong>to</strong> know the cost price paid <strong>to</strong> ensure correct<br />

inven<strong>to</strong>ry valuation. S<strong>to</strong>ck corrections <strong>to</strong> remove inven<strong>to</strong>ry will use the FIFO mechanism<br />

<strong>with</strong>in <strong>Brightpearl</strong> <strong>to</strong> remove the oldest s<strong>to</strong>ck first.<br />

2. Manually : you can use the in-app screens <strong>to</strong> make one-off amendments (accounting is<br />

done for you), or even use the CSV inven<strong>to</strong>ry import <strong>to</strong>ol <strong>to</strong> run a complete s<strong>to</strong>ck take<br />

across meny items at once.<br />

Frequently Asked Questions<br />

Can <strong>Brightpearl</strong> staff do the integration work for me?<br />

No - you’ll need <strong>to</strong> engage <strong>your</strong> own developer <strong>to</strong> work <strong>with</strong> our API. We provide clear<br />

documentation online, and can be contacted on api@brightpearl.com for any additional help.<br />

Do you have any other users that may have the same needs?<br />

Certainly. Many of our users have <strong>3rd</strong> <strong>party</strong> fulfilment companies, but they are not all running<br />

the same software. We’re trying <strong>to</strong> get <strong>to</strong> a stage where you can talk <strong>to</strong> each other <strong>to</strong> share<br />

development resources and ideas. The design of <strong>Brightpearl</strong> is <strong>to</strong> provide generic data that can<br />

be consumed by any <strong>3rd</strong> <strong>party</strong> <strong>system</strong>.<br />

How much will this cost me?<br />

It depends on the <strong>system</strong> that you’re going <strong>to</strong> integrate <strong>with</strong>. It could range from a few hundred<br />

dollars <strong>to</strong> a few thousand.<br />

Can you recommend any developers?<br />

We have a number of clients that have successfully connected their warehousing solution <strong>to</strong><br />

the <strong>Brightpearl</strong> back-office using the API. We can’t vouch for the quality or efficacy of the<br />

integration, but we can pass you the developers details if you’re interested. Please email<br />

design@brightpearl.com and we’ll get back <strong>to</strong> you. If you’re a developer, then get in <strong>to</strong>uch on<br />

the same email address and we can connect you <strong>to</strong> cus<strong>to</strong>mers that need development<br />

services!<br />

Can <strong>Brightpearl</strong> provide “webhooks”?<br />

Webhooks are typically used <strong>to</strong> notify a warehouse <strong>system</strong> when events happen, so that they<br />

can query the database over API and collect the latest data. An example would be when<br />

Goods-out notes are created. We don’t currently have any support for webhooks, so you will<br />

need <strong>to</strong> poll the <strong>Brightpearl</strong> API on a regular basis using the SEARCH messages <strong>to</strong> get the IDs<br />

of resources that have recently been created or updated.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!