Uktupus Docs
Modules

Master Data

The shared reference data every module depends on — products, partners, warehouses, taxes, currencies and more. Part of the always-on Core entitlement.

Part of the Core module — available to every company.

Products (/master-data/products)

The product/service catalogue.

  • Identity: code (SKU), name, description, category, brand, unit, barcodes (multiple; print barcode/QR labels in bulk). Product lookup (POS, WMS scanners) parses GS1 strings: AI 01 GTIN, 10 lot, 17/15 expiry, 21 serial, optional 37 count — returned as a scan payload alongside the product.
  • Pricing: sales price, purchase price, tax; detailed prices come from Price Lists (Sales).
  • Stock behaviour: inventory-managed or service; tracking (none, lot, serial, lot+serial); shelf life / expiry; costing override (average/FIFO/LIFO/FEFO); allow negative stock; reorder point, safety stock, min/max; lead time; preferred supplier. Changing allow negative stock needs Edit negative stock; costing method / standard cost need Edit costing.
  • Manufacturing: BOM/routing links, backflush, phantom.
  • Classification: ABC class (from ABC runs), quality inspection required, consignment eligible, returnable container.
  • Custom fields and attachments.
  • Detail: stock per warehouse, movement history, open orders, sales history, lot/serial trace.

Used by: Sales lines, Procurement lines, Inventory, Manufacturing, Field Service parts, POS, Agriculture inputs.

Categories (/master-data/categories)

Hierarchical product categories. Categories with subcategories or products cannot be deleted. Used in filters, put-away rules, and ABC.

Brands (/master-data/brands)

Product and catalogue brands.

Regions (/master-data/regions)

Sales territories with optional parent region and country code (city → region → country). Attach one or more sales agents, then assign customer branches or store warehouses. The first agent is used as the default when a sales document needs a region agent and the partner has none. Sales documents snapshot region_id at create time (from partner location → partner default region; POS from the store warehouse). Moving a location later does not rewrite old invoices. Backfilled history before that change is approximate.

Customer Groups (/master-data/customer-groups)

Lean customer groupings for reporting. Set on the partner (customer_group_id) with an optional customer segment (key_account, standard, smb, retail, prospect).

Sales Teams (/master-data/sales-teams)

Lean teams with an optional manager. Employees belong to a team (sales_team_id); sales documents snapshot the team with the agent at create time.

Units (/master-data/units)

Units of measure (pcs, kg, l, m, h…). Each stock product has one base unit (inventory always moves in that unit).

Products also have fixed packaging levels: Base, Pack, Box/Case, Pallet. For each level the product uses, set a display name (e.g. “pack of 10”) and the factor to base. Missing levels are allowed. On sales and purchase document lines, document types choose which level columns are visible and which level the cursor starts in. Typing in a level column sets the line quantity in that level; other columns show converted values. Stock posting always converts to base.

Clients & Suppliers (/master-data/partners)

One partner record can be a client, a supplier, or both.

  • Header: name, tax ID, registration number, type flags, industry (e.g. Insurance — used for HR employee insurer dropdowns), status, default currency, payment terms, price list, default sales agent, default region, customer group/segment, 1099-eligible (US), language for documents. The partner’s payment term is the default on new sales/purchase invoices, orders, quotations, and proformas; invoice due dates (and cash-discount deadlines) are calculated from that term and the invoice date.
  • Contacts: people with e-mail/phone (used for e-mails and portal invites).
  • Locations / branches: sites under the partner (name, address, region, phone, coordinates). Sales and delivery pick a branch on the document. Region on the branch drives document region when set.
  • Bank accounts: used on payments, PP/pain.001 exports and prints.
  • Credit: credit limit, credit hold, insurance cover (see Finance → Credit Management). Changing hold / limit / credit group needs the Edit credit field group; discount % and payment term need Edit commercial. Partner bank accounts need Edit bank accounts.
  • Partner 360 panel: open quotations/orders/invoices, balance, aging, payments, tickets, work orders, activities, contracts — everything about the partner on one page.
  • Actions: invite to portal, generate MK cooperation contract PDF. Duplicate groups can be reviewed, dismissed, or merged from Data quality (owner/admin; preview first).
  • UJP lookup (North Macedonia pack): type a 7-digit матичен број or 13-digit ЕДБ in a new partner, or type the legal name and leave the field, and a dialog shows the company from the UJP public taxpayer registry (legal name, legal form, activity, address, bank account and IBAN). Names can be typed in Latin or Cyrillic; if several companies match, pick one from the list. Use these details fills the form; the bank account is added when you save. On existing partners use the search button next to the name or either number. UJP's registry has no e-mail or contact person, and it doesn't say whether the company is VAT-registered.

Partners do not own GL accounts; receivables/payables post to the system AR/AP accounts with the partner as a dimension.

Banks (/master-data/banks)

The company's own bank accounts (name, IBAN/account, SWIFT, currency, GL account). Changing IBAN, account number, or statement write-off tolerance needs Edit payment details. Click a row to see the balance from Bank Registers. Different from partner bank accounts and from the Bank Registers screen itself.

Payment Terms (/master-data/payment-terms)

Due days, optional cash-discount percentage and days (early-payment discount posts to cash_discount_allowed / cash_discount_taken). Default per partner, overridable per document.

Taxes (/master-data/taxes)

Tax rates (e.g. DDV 18 % / 5 % / 0 %, MWST 8.1 %). On the North Macedonia pack each code also has a DDV-04 treatment and the boxes it fills; the pack ships the codes and a company can edit them. Set the tax on the product; sales and purchase lines show that code read-only (MK may still resolve export / reverse-charge from the partner). For the US pack, add state/county/city components as JSON; the combined rate is summed for invoice lines and carries a jurisdiction_code for nexus reporting. Taxes feed sales_tax_payable / purchase_tax_receivable postings and the DDV-04 / MWST / US sales-tax packages.

Warehouses (/master-data/warehouses)

Physical or virtual stock locations: main warehouse, store, technician van, consignment location, in-transit. Settings: costing override, allows negative stock, default bins/zones, layout dimensions (used by the 3D warehouse map and shift simulator), address, optional region (POS receipts snapshot this store region). Warehouses are referenced by every stock document.

List pages with tabular data (partners, products, categories, brands, units, warehouses, taxes, banks, payment terms, currencies, exchange rates, regions, customer groups, sales teams) offer Export → PDF / Excel / CSV from the page header (same filters as the list where applicable). Categories PDF keeps the tree layout; other PDFs are a landscape table. Company profile, data import, and duplicates are not list exports.

Data Import (/master-data/data-import)

Guided CSV/XLSX/XLS/TXT import for master data and opening balances in one wizard: warehouses, categories, brands, units, packaging levels, products, partners, price list items, chart of accounts, field-service assets, plus trial balance, customer/supplier open items, opening stock, fixed assets, and bank/cash.

Flow: choose type → download template → upload → map columns → validate → run (catalog) or post (opening balances). Catalog and opening uploads share the same file parser (CSV/XLSX/XLS/TXT): delimiter, encoding (UTF-8 / Windows-1251), and header row are detected; footer Total / Вкупно rows are skipped. Column mapping shows a confidence % (high / medium / low colour) so you confirm fuzzy matches. Catalog types also offer AI mapping suggestions. Opening-balance types post through Finance (cutover date, ledger / open invoices / stock layers / FA register / bank balances).

Folded create-on-the-fly (deferred): validate and dry-run never write master data. Missing units/brands/categories (product import) and partners/products/warehouses (opening) are listed as will be created (grouped with counts). Opening batches require Accept creates before Post; catalog apply creates lookups only when the import runs. Matching is case-, space-, and Cyrillic/Latin-insensitive. Auto-created open-item partners take type from the file (customer → client, supplier → supplier); the same partner on both files becomes both. Partners, products, and accounts accept an optional legacy code. Partner code and partner_type are optional on import (type defaults to client; code is generated). Catalog imports over 200 rows run in the background and need a worker. Uploading the same catalog file again opens the existing import instead of running it twice. Finance → Opening balances remains available as a batch list for reverse and review. After cutover posts, go-live reconciliation (Finance) is the gate: clearing zero, control targets, spot-check IOS and stock cards, then password sign-off before day-to-day invoicing (see Finance → Go-live reconciliation).

Partners with branches: use the Partners import. Put the client on one or more rows with the same code. Each row that has branch_name creates or updates that branch under the partner (match by branch name, case-insensitive). Optional branch columns: phone, region code, address line/city/postal/country, latitude/longitude, active. Rows without branch_name only update the partner header (and optional bank fields). Example: two rows with CUS-01 / Skopje Center and CUS-01 / Bitola → one client, two branches.

On an update, a blank cell leaves the current value. To erase a value, put <clear> in the cell (also noted on the template’s Notes sheet). Undo restores imported rows, and skips any row whose record was edited after the import. Those rows are listed on the import and are not overwritten.

Go-live package (/master-data/go-live)

Day-one cutover hub on top of Data Import and Opening balances: answer the cutover questionnaire (tax ID → company fill from the MK registry, FY start, VAT method, stock valuation, currencies, numbering, default warehouse), create a package for the cutover date, attach opening batches (opening / correction / delta), run a dry run that projects balances against trial-balance control targets without posting, then post the package in dependency order and kick off go-live reconciliation. Operational invoicing stays soft-blocked until reconciliation is signed (or an admin overrides).

Migration checklist (/master-data/migration)

Switch-to-Uktupus tracker: what is imported (partners, products, units, packaging, price lists, CoA) and which opening-balance batches are posted (trial balance, open items, stock, fixed assets, bank/cash). Enter the old system’s totals to compare against counts and trial-balance debit/credit after cutover. Every step links into Data Import (same wizard for catalogs and opening balances). Prefer the Go-live package for the full dry-run → post → sign path; the checklist alone is not the unlock.

Data quality (/master-data/data-quality)

Cutover / go-live hub: issue groups with counts (partners missing tax ID, address or email; MK partners with an invalid ЕДБ; products missing price, unit, tax, category or barcode; negative stock; open duplicate groups). Shows a data quality score. Bulk-fix with preview and undo (audited), MK fill from UJP for partners with a матичен/ЕДБ, and merge duplicates (owner/admin only — choose primary, preview reference moves, deactivate the merged record). Linked from the Today setup wizard when the score is below 90%.

Duplicate detection (/master-data/duplicates)

Finds partners and products that look like the same record (name, tax ID, barcode, and the other declared keys). Review a group, set a primary, dismiss, or reopen it. Creating a partner or product warns when a declared key matches. A product barcode that already exists is blocked. To merge two records, open Data quality (owner/admin).

Currencies (/master-data/currencies)

Currencies the company transacts in. The company default currency is set on Company Profile.

Code must stay the Latin ISO code (MKD, EUR) — banks, e-invoice, and exchange rates need it. Put display text like мкд or ден in Symbol, and choose Symbol position before or after the amount — the dropdown previews with the symbol you typed. Screens across the ERP and invoice PDFs show amounts with that symbol and position (not the ISO code).

Exchange Rates (/master-data/exchange-rates)

Daily rates per currency pair. Documents in a foreign currency store the rate at document date; Finance → FX Revaluations re-values open balances at period end.