Files
2026-09-14 16:18:28 +01:00

75 lines
4.7 KiB
Markdown

# Raising a purchase requisition in Unit4 ERP (UBW)
How to turn a supplier cart or quote into a purchase requisition (which becomes a purchase order once the workflow approves it) in UBW at `https://ubw.unit4cloud.com/`. The supplier, budget and product codes below are placeholders; replace them with your own. A small `example-cart.csv` is included to try the script.
You can do this by hand (the procedure below) or with the helper script `ubw-requisition-filler.user.js`, which fills the whole requisition from a cart CSV. Either way you review and click Save/Send yourself; nothing is submitted automatically. The manual procedure stays the reference for what the script does and for one-off edits.
## Script: ubw-requisition-filler.user.js
`ubw-requisition-filler.user.js` does steps 3 and 6 below for you (names the request and adds every line) from a cart CSV, logging progress and a computed total. Install, usage and CSV format are in `README.md`. You still set the Header by hand first (step 4) and review before Save/Send; check the script's per-line total against your quote.
## Prerequisites
- You are logged in to UBW (the ERP treats you as the requisitioner).
- You have the **supplier account code**, the **budget (Sub Project) code**, and the line items (SKU, description, quantity, unit price ex-VAT).
- Keep the lookup tables at the bottom of this file current rather than searching the register each time.
## Procedure
1. **Homescreen → Purchasing.** Under *Start pages*, click **Purchasing**.
2. **New request.** Under *New request*, click the **Purchase request** tile. This opens a blank request with you as requisitioner.
3. **Name the request**, e.g. `<Supplier> order <YYYY-MM-DD>`.
4. **Fill the Header first, before adding any lines.** Click **Header** (top right) and set:
- **Supplier\*.** Type the supplier account code and Tab; it validates and shows the supplier name. Do this before adding lines so each line inherits the supplier.
- **Sub Project code\*.** Type the budget code and Tab; it resolves to the project name.
- *External reference* and *Source To Contract ID* are optional.
- Click **Close**.
5. **Check delivery.** Confirm the *Delivery contact* and *Delivery address*.
6. **Add each line item.** For every line:
1. Click **Add product**. A new editable row appears; its Supplier cell inherits the header supplier.
2. In **Product**, type the generic free-text product code and press **Tab**.
3. **Wait for the row to reload.** Tab fires a server round-trip (a spinner shows) that re-renders the row with a default description, Account, Sub Project and Tax code. Do not type until it finishes (see gotchas).
4. Set **Product description** to `<SKU> - <full item description>`.
5. Set **Quantity**.
6. Set **Price** (unit, ex-VAT) and press **Tab**. The line total recalculates.
7. **Check the running total.** *Total amount* (bottom right) should match the sum of your line totals ex-VAT.
8. **Finish.** Review every line, then **Save as draft** or **Send for approval**. Do not submit until the whole order is checked.
## Gotchas
- **The Product field will not accept a supplier SKU.** It is a validated lookup against your internal product register, so a raw part number is rejected (the field goes red, "Errors: 1"). Use the generic free-text code and put the SKU in the description.
- **Timing after the Product code is the one that bites.** After you Tab out of the product code, the row reloads from the server. Edits made before the reload finishes land on the stale row and are silently wiped (description reverts, qty 1, price 0). Wait for the spinner to clear, then fill the rest of the line.
- **Set the Header supplier before adding lines**, or the line keeps a blank Supplier cell.
- **Prices are unit, ex-VAT.** A default tax code and account are applied to the generic line; change them only if the coding for that spend differs.
## Mapping a supplier CSV/quote to lines by hand
The CSV columns are defined in `README.md`. To transcribe a cart into lines:
- **Product** = your generic free-text code (see the tables below), or the row's own code where it differs
- **Product description** = `{Item Number} - {Description}`
- **Quantity** = `Quantity`
- **Price** = `Unit Price`, ex-VAT
## Local lookup tables (maintain these)
Replace the placeholder rows with the codes your ERP uses.
### Supplier account codes
| Supplier | Code |
|----------|------|
| Acme Optics Ltd | AC100200 |
### Budget / Sub Project codes
| Code | Project |
|------|---------|
| ABC1234-100 | My Project 2026 |
### Generic (free-text) product codes
| Code | Meaning | Default account | Default tax |
|------|---------|-----------------|-------------|
| GEN1 | Laboratory consumables (free-text line) | (your account) | (your tax code) |