Getting Started with ERP
What the ERP layer is, the eight Architect Panel sections it lives in, the ERP Setup console, companies, bindings and the background tasks.
ERP Suite Overview
The ERP layer adds what a business system needs once it stops being a database with forms on it: companies with their own books, a general ledger that is the system of record, documents with an enforced lifecycle, stock, projects and the reporting over all of it. It runs against your own datastores, and the people who use it every day reach it through the Admin Panel without needing architect rights.
Where to find it
Architect Panel → ERP - Setup:
- ERP Setup — start here: companies, company access, ERP roles, number schemes and binding health, with a checklist of what is still missing
Admin Panel → ERP - Setup:
- ERP Setup — the same console for an ERP administrator who is not an architect
How the Architect Panel organises it
Architects see the ERP in eight Architect Panel sections. Each holds the consoles for one area and the datastore tiles behind them.
- ERP - Setup: the ERP Setup console, Legal Entities, Entity Permissions, ERP Bindings, Documents, Document Types, ERP Custom Fields, Calculated Fields and the PunchOut supplier list.
- ERP - Reference Data: the lists ERP records choose from, such as Units of Measure, Customer Classes, Accounting Books and Account Types. You can add your own values.
- ERP - Finance: Ledger & Finance, Bank Reconciliation, Feed Queue, Budgets and the ledger datastores (Chart of Accounts, Journals, Tax Codes, Exchange Rates and so on).
- ERP - Procurement and ERP - Sales: suppliers, customers and the documents that buy and sell.
- ERP - Operations: items, stock, structures, production and fixed assets.
- ERP - Projects & Time and ERP - Trading & Analytics: projects, timesheets, pricing, EDI and ERP Analytics.
How everyone else reaches it
A finance clerk, a buyer or a project manager is an Admin Panel user, not an architect. What they may do is an ERP role granted to their security group, and which companies they may do it in is a separate company access grant. Granting a role adds the matching Admin Panel menu entries to the group, in sections named for the work: Processes, Finance, Receivables, Payables, Purchasing, Sales, Inventory & Production, Projects & Time, Fixed Assets, Reporting and ERP - Setup. Anyone holding an ERP role also gets the ERP workspace on their Admin Home page and the ERP search box in the menu. See ERP Roles & Workspace.
Consoles and lists
Two kinds of screen appear, and knowing which you are on saves confusion.
- Consoles are purpose-built screens such as ERP Setup, Ledger & Finance and Bank Feeds & Reconciliation. They check the rules (balanced journals, open periods, company access) before anything is written. This is where the work is done.
- Datastore tiles open the generic editor on the table behind a console. Use them to inspect and to correct configuration. Never post a journal by adding a row on the Journals datastore: it bypasses the balance and period checks.
It works against your datastores
The engines do not ship their own customer or invoice tables. A binding tells each engine which of your datastores plays which role and which column fills which slot, so you keep the data model you built. The article Connecting Engines to Your Datastores in Getting Started with ERP explains how.
Setting up, in order
- Open ERP Setup and read the Checklist tab. Red rows stop documents being numbered or posted; amber rows work but are incomplete.
- Add your companies on the Companies tab.
- Give security groups access to each company on Company access, and roles on ERP roles.
- Import or build the chart of accounts and generate accounting periods in Ledger & Finance.
- Check Number schemes and Bindings, then enable the background tasks your modules need.
Worked example
A UK trading company with a Dutch subsidiary adopts the ERP for finance first. The architect opens ERP Setup, adds the two companies, imports the UK chart template for the parent, generates this year's periods for both, and grants the finance team's security group the ERP: Finance role with Post access to both companies. The next morning the finance clerk signs in, lands on the ERP workspace, and finds Ledger & Finance and Bank Feeds & Reconciliation in the Finance section of the menu. Purchasing and Sales come later, each with its own role.
Recommendations
- Work down the ERP Setup checklist before inviting users. It names every missing prerequisite and links to where it is fixed.
- Grant roles, not menu entries. The role adds the right menu entries and removes them again when it is taken away.
- Adopt one area at a time and run it properly before starting the next.
- Read the background tasks article early: several features do nothing visible until a task is switched on.
Legal Entities
A legal entity, which the ERP screens call a company, is a legal company operating inside your application. Every ledger, document, stock movement and record number belongs to one. A single company in one country means one entity you set up once; a group with subsidiaries is what entities exist for.
Where to find it
Architect Panel → ERP - Setup:
- ERP Setup — the Companies tab, with pickers and validation
- Legal Entities — the underlying datastore, for inspection
Admin Panel → ERP - Setup:
- ERP Setup — the Companies tab for ERP administrators who are not architects
Entity is not tenant
A tenant is a customer of the platform, sealed from every other tenant. An entity is a legal company that one customer operates, and entities are designed to be crossed: an intercompany recharge writes both sides in one transaction and a consolidation reads every subsidiary at once. Tenant isolation forbids both by construction, which is why entity is a separate dimension.
Adding a company
- Open ERP Setup and choose the Companies tab, then Add a company (or Add your first company on a new install).
- Enter the Code (short and unique, up to 32 letters, digits, hyphens or underscores, for example UKLTD) and the Legal name.
- Choose the Parent company, or None - top of the group for the holding company or a single company.
- Choose the Country, and the two currencies: Books kept in (the functional currency) and Reports to the group in (the reporting currency).
- Set Financial year ends on (day and month; the year starts the next day). Accounting periods and financial-year reports follow it.
- Choose the Accounting book (usually Local statutory), the Consolidation method and Owned by parent (%).
- Optionally choose a Business calendar (used for due dates and service levels) and enter the Tax registration number.
- Leave Active on, and press Save company.
What the settings do
- Books kept in: every journal line stores its amount in this currency as well as the transaction currency.
- Reports to the group in: the currency a consolidation translates this company into.
- Accounting book: the company's primary book. Bank reconciliation, the close checks and the VAT return read this book. The books on offer are listed under Accounting Books in ERP - Reference Data (Local statutory, IFRS, US GAAP, Tax, Management).
- Consolidation: Full consolidation, Proportional consolidation or Equity method, applied with Owned by parent (%) when the group is consolidated.
- Elimination company: marks a company that holds intercompany eliminations only. The consolidated trial balance offers to post its elimination journal there, and company pickers list elimination companies last.
- Active: switch it off to retire a company without deleting its history.
What goes wrong
- "Use a three-letter ISO currency code" or "Use a two-letter ISO country code": pick from the list rather than typing.
- The Book column shows None on the Companies table: the company has no accounting book and postings will fail. Edit it and choose one.
- "You can only change companies you have write access to": a non-architect ERP administrator edits only companies their group can write to. When such an administrator creates a company, their own administrator groups are given Post access to it automatically, so it does not vanish from their screens.
- "A company you cannot see" in the Parent column: the parent is a company you have no access to. It is kept as it is when you save.
Worked example
A holding company with two trading subsidiaries adds three companies, then a fourth. HOLD is the top of the group in GBP. UKTRADE has HOLD as parent, keeps its books in GBP and is 100% owned. NLTRADE has HOLD as parent, keeps its books in EUR, reports to the group in GBP and is 80% owned under Full consolidation. Finally HOLD-ELIM, with HOLD as parent and Elimination company ticked, holds the intercompany eliminations. All four have a year end of 31 December and the Local statutory book.
Recommendations
- Set both currencies at creation. Nothing stops a later change, but postings already made keep the amounts they were posted with.
- Create a planned company now, marked inactive, if there is any prospect of it. Splitting one company into two after a year of postings is not practical.
- Name companies as they appear on their statutory accounts, not by trading name.
- Grant access next. A company nobody has access to is invisible to everyone except architects; see Company Access in ERP Roles & Workspace.
Connecting Engines to Your Datastores
A binding maps an ERP engine onto your data model. It is what lets the stock engine work with a datastore you called Parts and the time engine work with one you called Jobs. The ERP Setup console now checks every binding for you and says exactly what is missing.
Where to find it
Architect Panel → ERP - Setup:
- ERP Setup — the Bindings tab: every binding, whether it is valid and what to fix
- ERP Bindings — the bindings themselves; the Field Mappings action on a binding opens its slot mappings
Admin Panel → ERP - Setup:
- ERP Setup — the same Bindings tab, read-only for an ERP administrator who is not an architect
Roles and slots
- A role is a table an engine needs: item, header, line, project.
- A slot is a column within it: code, quantity, date.
You state which datastore plays each role and which column fills each slot. The engine then asks for slots and never for columns, so it works whether your quantity column is Qty, Quantity or Number_Of_Units. A slot can hold a fixed value instead of a column, for example one warehouse for every row.
Checking binding health
- Open ERP Setup and choose the Bindings tab. The summary card Bindings valid at the top of the console shows how many pass.
- Read the Status column: Valid, Problems, Disabled or Disabled, has problems.
- For each binding with problems, read What to fix. Typical hints are a required slot with no mapping, a datastore that does not exist or is not registered, or an engine that is not in the engines list.
- Open Slots under the hints to see every slot the engine declares, whether it is Required or Optional, and what it means.
- As an architect, press Field mappings on the row to fix the mapping, or Open ERP Bindings to change which datastore the binding points at.
- Return to the Checklist tab: the row Bindings resolve turns green when every enabled binding validates.
The columns on the Bindings tab
- Binding: its name, with its key and role underneath.
- Engine: the ERP engine that reads it.
- Datastore: the table it points at, or Missing.
- Required slots: how many of the required slots are mapped, for example 4 of 5.
Names, not internal IDs
A binding refers to your datastore and column by name. Renaming a datastore or a column therefore breaks any binding that refers to it, and the Bindings tab shows it straight away as Problems. Internal record IDs are not used because they differ between installations; a binding silently pointing at a different table would, for a ledger, post into the wrong books.
What goes wrong
- An engine that seems to do nothing: almost always an empty required slot. Check the Bindings tab before anything else.
- "No bindings are defined": bindings are created with the document types that use them. Set up the document types first.
- Bindings are maintained by an architect: a non-architect ERP administrator sees health but cannot change mappings.
Worked example
A distributor renames the column Qty on its Order Lines datastore to Quantity. The next morning the ERP administrator sees Problems against the sales order line binding, with the hint to add a field mapping for the quantity slot. The architect presses Field mappings, points the slot at Quantity, saves, and the binding returns to Valid without any document being re-keyed.
Recommendations
- Open the Bindings tab after any rename of an ERP datastore or column.
- Fix every problem before enabling a binding. A disabled binding with problems is harmless; an enabled one fails at the first posting.
- Write down which datastore plays which role: it is not obvious six months later.
- Test one record end to end after changing a mapping.
ERP Background Tasks
Several ERP features depend on work happening on a schedule rather than when somebody presses Save: pulling bank feeds, mirroring postings to another accounting package, sending scheduled reports. Every one of these tasks ships switched off and in preview mode, so nothing starts running because an update was applied. Switching one on is a deliberate decision.
Where to find it
The tasks are rows on the Task Engine screen, which only architects can open. Each row has Task Log, Preview and Force Run actions. The Tasks articles explain the screen itself.
Architect Panel → ERP - Finance:
- Feed Queue — the Connections tab's Sync now runs one connection's sync on demand
- Accounting Outbox — what the outbound mirror has queued, sent or failed
The finance and foundation tasks
- Accounting and Bank Feed Sync (hourly): pulls every active connection whose provider is switched on, and reads bank statement drop folders. It only brings transactions into the feed inbox; it never codes or posts anything.
- Accounting Outbound Mirror (hourly): mirrors posted journals and invoices out to Xero, QuickBooks, Sage or Capita Integra for connections that have mirroring switched on.
- Budget Housekeeping (daily): releases budget still held by requisitions that were raised and never ordered. It has work to do only when a company's budget settings include requisitions.
- Calculated Field Recalculation (hourly): the consistency sweep for calculated fields and rollups, catching totals left stale by imports or direct changes.
- Scheduled Report Distribution (hourly): sends ERP Analytics reports whose next run has passed.
Tasks other areas rely on
The other ERP areas have their own tasks, each described with its feature: Asset Depreciation and Asset Preventive Maintenance (raise due work) in Assets & Maintenance; Revenue Recognition (month end) in Time, Expenses & Projects; EDI Inbound Poll and EDI Outbound Send in EDI & Trading Partners; PunchOut Order Transmission and PunchOut Session Expiry in PunchOut Procurement; and the sales and receivables tasks (Sales: expire quotes past their date, Receivables: dunning run (send), Receivables: Paid status sync) with order to cash.
Switching a task on
- Open the Task Engine and find the task by name.
- Press Preview. A task in preview mode describes what it would do and changes nothing. Read the result.
- Press Force Run to run it once now, ignoring its schedule, and read its Task Log entry.
- Edit the task: take it out of preview mode, tick Enabled and confirm the frequency.
- Check the Task Log again after the next scheduled run.
Reading the log
- A feed sync that keeps finding nothing may mean the provider is switched off, the connection is paused or its authorisation has expired, not that there is nothing to fetch. Check the connection on the Feed Queue's Connections tab.
- A mirror that keeps failing shows on the Feed Queue's Outbox tab with its last error. The usual cause is an account code the other package will not accept.
- A recalculation sweep that regularly corrects totals means a calculated-field rule is missing somewhere. Fix the rule rather than running the sweep more often.
Only enable what you use
No feeds means no sync or mirror. No requisition budgeting means no budget housekeeping. A task switched on for a feature you do not use clutters the log, which makes the entries that matter harder to see.
Worked example
A company imports bank statements from a drop folder and mirrors its sales invoices to Xero while its accountant still files from there. The architect previews and force-runs Accounting and Bank Feed Sync, sees the folder's files read into the inbox, and enables it hourly. Then Accounting Outbound Mirror: the preview says what it would send, the forced run sends it, the Outbox tab shows the invoices as sent, and the task is enabled. Budget housekeeping stays off because requisitions do not commit budget there.
Recommendations
- Preview, then force-run, then enable. Never switch a task straight on.
- Enable only what your configuration needs.
- Check the Task Log weekly for the first month after enabling anything.
- Use Sync now on the Feed Queue when you need a connection read immediately, rather than forcing the whole sync task.
The ERP Setup Console
ERP Setup is the console for setting up a company group in the order it is actually done: the companies, who can use them, which roles people hold, how documents are numbered, and whether the ERP is wired to your data. Its checklist says what is still missing and takes you to where it is fixed.
Where to find it
Architect Panel → ERP - Setup:
- ERP Setup — the setup console, for architects
Admin Panel → ERP - Setup:
- ERP Setup — the same console for holders of the ERP: Administration role
- Record Numbering — how invoices, orders, journals and other ERP records are numbered, per company
- Approval Matrices — who approves requisitions, orders and supplier invoices, at what value
- ERP Documents — document types, their lifecycle and every document of a type
- EDI — trading partners, maps, transports and messages
- PunchOut — punch-out suppliers and the baskets that came back
The summary and the six tabs
Four cards head the screen: Checklist done, Companies, Groups with ERP roles and Bindings valid. Below them are six tabs.
- Checklist: every prerequisite, marked Done, Needs attention, Missing or Not applicable, each with an Open button.
- Companies: the legal entities, with pickers for currency, country, parent, book, calendar and financial year end.
- Company access: security groups against companies, each cell None, Read, Write or Post.
- ERP roles: security groups against the ERP roles and document permissions.
- Number schemes: every scheme the ERP needs against every company, showing whether the company has its Own sequence or a Shared one, with an example of the next number.
- Bindings: every binding and whether it is valid.
Working down the checklist
- Companies (legal entities): at least one company exists.
- Company access for security groups: every company has at least one group with access.
- ERP roles assigned to security groups: at least one group holds a role.
- Chart of accounts: there are postable accounts.
- Open accounting period for today: every company has an open period covering today, or postings dated today are refused.
- Tax codes and Exchange rates: tax codes exist, and a rate exists for any company that reports in another currency.
- Number schemes, Document types and Bindings resolve.
- Posting rules and Stock locations, where those areas are installed.
Red stops documents being numbered or posted; amber works but is incomplete. For the chart, periods, tax codes and exchange rates, a holder of the ERP: Finance role is sent straight to the matching tab of Ledger & Finance (Chart of accounts, Periods or Set-up). Someone without that role sees who can do it instead of a button that would refuse them.
Numbering
On Number schemes, a red Missing cell has a Set up button, and a Shared cell has Give it its own. Both open Record Numbering with the document and company filled in. Nothing on this tab allocates a number. See Record Numbering.
Running it as an ERP administrator
A non-architect holding ERP: Administration uses the same console from the Admin Panel, with three limits.
- A role never implies a company. They see only companies their groups can read, and edit only those they can write to.
- No self-promotion. They cannot change the roles or the company access of a security group they belong to, and cannot grant more access to a company than they hold themselves.
- Bindings are read-only. They see binding health; an architect changes the mappings.
Granting ERP: Administration to a group gives it every Admin Panel entry in the ERP - Setup section listed above.
Worked example
On a new installation the checklist is mostly red. The architect adds the company on Companies, grants the Finance group Post on Company access and ERP: Finance on ERP roles, and the count rises. The chart and period rows are still red, so the financial controller (who holds ERP: Finance) presses Open on Chart of accounts, lands on Ledger & Finance, imports the UK template, then generates the year's periods from the Periods row. On Number schemes two document types show Missing; Set up opens Record Numbering for each. The checklist reaches all green before anyone raises a document.
Recommendations
- Keep two ERP administrators in different groups, because nobody can change their own group's roles or access.
- Clear every red row before go-live, and treat amber rows as a to-do list for the first month.
- Use the checklist's Open buttons rather than hunting for datastore tiles; they go to the right screen for your role.
- Give each company its own number sequence where its documents are seen outside the group.
ERP Reference Data and Creating Records in Place
ERP records choose many of their values from short lists: units of measure, customer classes, accounting books, account types. These lists now have a section of their own in the Architect Panel, so you can add your own values without searching through every datastore. The ERP consoles can also create the one record they are blocked on without sending you elsewhere.
Where to find it
Architect Panel → ERP - Reference Data:
- Units of Measure — units items are counted, weighed and timed in, with their conversion to a base unit
- Customer Classes — how customers are grouped for pricing, credit and reporting
- Asset Classes — fixed asset classes and their default treatment
- Depreciation Methods — straight line, reducing balance and the other methods
- Expense Categories — what an expense claim line can be for
- Absence Types — holiday, sickness and the other reasons time is booked as absence
- Location Types — warehouse, bin, quarantine, in transit
- ABC Classes — stock classes for count frequency and replenishment
- Inspection Types — goods-in, in-process and final inspections
- Severities — how serious a non-conformance is
- Structure Types — bills of material, routings and the other structure kinds
- WBS Levels — the levels of a project work breakdown
- Cost Types — labour, materials, subcontract
- Dimension Types — the analysis dimensions postings and reports can be cut by
- Accounting Books — local statutory, IFRS, US GAAP, tax, management
- Account Types — asset, liability, equity, income and expense
Adding your own values
- Open the tile for the list you need, for example Customer Classes.
- Add a row with a code and a name. Keep the code short and stable: records store the choice, and reports group by it.
- Use the enabled flag to retire a value rather than deleting it, so records that already use it keep a readable label.
- Open the record screen that uses the list and check the new value appears in its picker.
The shipped values are shared by every company. A tile appears only when the list is installed on your system.
Lists with no tile
Some lists look similar but are not yours to extend: document statuses, access levels, account roles, period statuses and cash-flow categories. The engines act on their codes, so a value added by hand would do nothing. They are deliberately left without a tile. Two finance lists are edited elsewhere:
- Statement headings (revenue, cost of sales, current assets and so on) are renamed on Ledger & Finance, Chart of accounts tab, Statement headings…. You can change the wording a statement prints, not add or remove a heading.
- VAT Box Mapping is under ERP - Finance; see Tax & VAT.
Creating the record a console is blocked on
An ERP console often depends on a record it does not own. Ledger & Finance cannot post without accounts; ERP Analytics needs measures; PunchOut needs a supplier. Where that record is missing, the console's empty state now carries a button such as Add an account or Add a supplier. It opens the platform's own create form for that datastore in a window over the console, with the same fields, sections and field security as its tile. Save it and the console refreshes with the new record in place.
Some dead ends need a screen rather than one new row, such as granting access on Entity Permissions. There the console offers an Open button to that screen instead.
The button is only shown when it will work: the datastore is registered, has fields, and your security group may add to it. Otherwise you see the console's original instructions, which say who can do it.
Worked example
A business that sells by the pallet opens Units of Measure and adds PAL, converting to 48 of the base unit EA. It then opens Customer Classes and adds TRADE and RETAIL so pricing can tell them apart. Later, a new company opens Ledger & Finance before its chart exists; the warning carries Add an account, the controller adds the bank account there and then, and imports the rest of the chart from the template.
Recommendations
- Agree list values before go-live. Renaming a code later leaves records grouped under the old one.
- Retire, do not delete. A deleted value leaves records pointing at nothing.
- Leave the engine lists alone. If a list has no tile, the engine owns it.
- Grant Add New on the datastores your administrators need if you want them to see the create buttons.