Embla · Sync
Hello
Active file, suppliers and lines in the current sync set.
Lines and suppliers · all history
YTD lines
—
YTD suppliers
—
Monthly line and supplier counts from confirmed sync sets (line dates).
Status
Sync set and last push
Current / last sync set
—
Confirm material suppliers on Import (step 4) to record a sync set.
Last Klappir export
—
Send to platform from Export to record a push.
Data path
Active file
Active file
—
Nothing asked yet. Answers appear here and stay for the session.
Answers come from a summary of the active file, not raw row-by-row lookups.
Import
Import spend
Upload a spend CSV — classification runs automatically through the four mapping steps.
UNSPSC mapping
Waiting for upload
NACE mapping
Waiting
GHG mapping
Waiting
Supplier material mapping
Waiting
Pipeline idle
0%Upload a CSV to start the pipeline automatically.
On by default — catch-all codes (segment-level, or weak families such as transport / management / education) can be replaced if a more specific match is found. Turn off to keep every source code as-is.
Classify defaults are in Settings → Import.
GHG mapping (add-on)
Secondary to UNSPSC. Maps each supplier’s NACE code to GHG Protocol scope and Scope 3 category. Emissions are calculated on the Klappir platform after send — not here.
Suppliers to send
External suppliers start selected. Internal suppliers are flagged — include or exclude them before Confirm sync set.
| Supplier | NACE | GHG scope / category | Flags | Tx | Spend | Spend % |
|---|
Coverage
Upload a CSV to see coverage.
Activity Show log
This file only
Clears classifications applied in this session. Codes that came with the file stay. Use this before re-running classify on the same upload.
Applied codes are provisional until review. Send to platform only includes suppliers left checked in step 4.
Review UNSPSC mapping
Suggested sync set — confirm on Import (step 4) before Send to Klappir.
No file loaded
Material line items
The rows that can sync to Klappir. UNSPSC is shown as dashed code + name (e.g. 80-11-16-13 Temporary manual labor). Use Change to correct a code.
Status: Tagged by you — you set this code. Confirmed (source) — it came with the file. Auto-suggested (not applied) — a match exists but has not been applied. Needs mapping — no code yet.
A review flag appears when: there is no UNSPSC; the source code is not in the Klappir catalog; it is only a segment (too coarse for spend); or it is out of Purchased goods & services scope (travel, fuel, electricity). Source codes are never silently overwritten — we keep them and suggest an alternative. Unusual high/low activity (kg) and the highest/lowest spend lines are flagged for a look — they are not excluded from Send.
Suppliers in this sync set
Secondary view — NACE and spend share. Mapping happens in the line-item table above.
Classifying NACE…
0%Starting…
Reclassify line
Export
Sync history and Send live on the confirmed set below.
Download for review
Optional full line-item CSV. Keeps the original columns and adds mapping fields (source vs AI vs you).
Sync & transfer history
Confirmed sync sets with linked sends. Ready sets show Send to Klappir on the card.
Send to Klappir
Push material suppliers only from this sync set via Goods & Services API. Same Unique IDs upsert safely on retry.
- Sync set confirmed
- Platform API configured
- Legal Entity set
- Material lines ready
Settings
Your account and Legal Entity. Classify and Send do not need anything else here.
Signed-in account and this browser. Legal Entity is already bound.
Account / workspace
Signed-in account
—
Workspace tenant: —
Send to Klappir
Legal Entity (UUID)
Managed by Klappir. You do not need to change this to Classify or Send.
This session
Start fresh
Clears the loaded file in this browser so you can upload again. Does not wipe learned labels or the Embla YTD / send history.
Reset history
Clears the Embla lines-and-suppliers YTD totals, confirmed sync sets, and platform send history for this workspace. Does not wipe learned labels or Legal Entity.
Classify
Classify defaults
These apply to every upload. Overwrite coarse codes is on by default on Import (catch-all source codes can be refined). Turn it off on that file if every source code must stay.
If no commodity or class fits, assign the best UNSPSC Family (level 2) instead of leaving the line blank.
Run another AI batch after each one until every remaining description is classified, or you press Stop. Turn off to run a single batch.
How Sync Studio reads, classifies, and learns
Upload starts a 4-step pipeline. Matches you (or the file) already know are reused before AI is called. After classify, external suppliers are selected; internal suppliers stay flagged off until you include them.
- How we read the file A spend CSV is parsed for product or supplier text plus an amount. Asset, reference, Unique ID, date, unit, weight, and an existing classification code round-trip when present. Blank product/asset labels are filled from reference or supplier so classification and Send have enough text. Legal Entity UUID in a file is ignored — it is bound on this account. Missing Unique IDs are generated for export/send. Repeated header rows and total/summary rows are ignored automatically. The last uploaded file is kept in this browser so you can pick it up the next day; Start fresh or Discard upload removes it.
- How we classify 1. UNSPSC — reuse learned labels for the same product text or product reference; remaining descriptions go to AI in spend-sorted batches. Family-level fallback (above) can assign a coarser code when a commodity is unclear. Firm source codes stay; coarse catch-all codes can be replaced when overwrite coarse is on (the Import default). Spend suggestions are family / class / commodity only — never segment. 2. NACE (add-on) — each supplier is mapped to an industry code. 3. GHG (add-on) — NACE maps to GHG Protocol scope / category. Emissions are calculated on the Klappir platform after send. High-CO₂ lines are flagged for review. 4. Suppliers to send — external suppliers start selected. Internal / intercompany suppliers are flagged off unless you include them, then Confirm sync set.
- How we learn When a description is classified (from the file, AI, or a manual pick), the product text and product reference are saved to your Klappir account. The next file reuses those matches before calling AI. NACE by supplier is remembered the same way. A Nordic/Elins starter set loads automatically. This is the memory shown under Learned labels below — it survives new browsers; Start fresh does not wipe it.
Learning
Learned labels
Matched product texts are saved to your Klappir account so the next file reuses them before calling AI.
Preparing learned labels…
Account sync: waiting for sign-in…
File formats & column details
- Minimum to import / classify Product Label or Supplier Label, plus a numeric amount (AMOUNT or a currency column such as dkk/eur/isk). Asset and reference are optional — blank product is filled from reference or supplier; blank asset is filled from supplier.
- Minimum to send to Klappir A parseable date, amount or weight, product label (≥2 characters), asset label, and a confirmed UNSPSC. Legal Entity UUID lives on the account — do not put it in the file. Unique IDs are generated if missing. Rows can classify with less than this; Send skips them until the gaps are filled.
- Export sheet includes Generated Unique ID (upsert key), supplier, date, weight, currency amounts, product, Classification Key, asset, and reference. No Legal Entity UUID. Emissions stay blank unless the staff opt-in is on — Klappir recalculates them after send.
- Optional source columns Unique ID, date, unit, weight, and existing classification codes round-trip when present. A Legal Entity column is dropped on import.
APIs & connections
Platform API
Send to platform uses Klappir’s Goods & Services GraphQL API. The API key is configured on the server (Vercel env) — never entered in the browser.
Checking platform API…
Classify tuning
AI batch size
Unique product descriptions sent to AI per wave, highest spend first.
Libraries
Classification library
Loading Klappir’s purchased goods & services codes…
Learned labels (account)
Clear or reload Firestore description memory. Customers see a simplified Settings page (account + Legal Entity + Start fresh).
Danger zone
Deep session caches
Optional deeper wipe of browser tag/flag caches on the next Start fresh. Still keeps import/transfer history and Firestore learning memory.
Clear sync & transfer history
Same as General → Clear history & chart. Wipes import/transfer history and the Agent volume chart. Keeps UNSPSC/NACE learning memory and other Settings.
Need access for a colleague? Contact Klappir.
Logic
Current mapping and send rules for Sync Studio. Subject-matter experts can propose a change; proposals do not go live until they are implemented in code.
Customers
Provision Sync Studio tenants (domains, roles, Legal Entity, production Send). Staff only. Suite-wide Admin also lives in Embla Admin.
Tenants
Open Customers after sign-in to load the tenant list.
New customer
Workspace id: Assigned on save
What to send the customer
Copy the note into Slack or email. Set-password links expire — send them privately.
Save the customer to build the note.
Set-password links
Saved to the cloud for this customer. Any Klappir staff can copy them here after Save.
Save to get the customer handoff note.