KPD Asistent is a high-performance Chrome Extension that helps Croatian entrepreneurs and accountants find and apply KPD classification codes (Klasifikacija proizvoda po djelatnostima) — directly inside invoicing portals and web forms.
Developed for Aning Usluge d.o.o. by Matija Radeljak.
- Searches by keywords, partial matches, real-world terms and synonyms (not only official names).
- Fast and smooth even with large datasets thanks to Web Worker processing.
- Detects relevant input fields (code / description / item/service name).
- Shows a discreet “ghost icon” next to the active field.
- Click → opens a lightweight in-page modal search UI.
- Opens on top of the current web app so users stay in context.
- Injected UI is isolated to avoid CSS conflicts (Shadow DOM + iframe approach).
- Detects paired fields (KPD Code + Description) within the same row/table/form group.
- Can fill both code + description from a single selection.
- Avoids accidental overwrites by respecting existing data.
- Paste or upload CSV data and get: Original | KPD Code | KPD Name
- Automatically detects the most likely “description/name” column.
- Includes preview + progress + ETA for large lists.
- Large batches can run via background (service worker) while UI stays responsive.
- Status feedback + completion result flow.
- Select any text on a page → right click → Find KPD code…
- Opens an instant lookup workflow.
- Enable/disable the extension by website.
- Two modes:
- Block selected sites (Blacklist)
- Allow only selected sites (Whitelist)
- Theme: Auto / Light / Dark.
- Works locally in your browser.
- No invoice data or search queries are sent to external servers.
- Vanilla JavaScript (ES6+), HTML5, CSS3
- Manifest V3
- Web Worker search processing
- Shadow DOM / iframe UI isolation
- No runtime dependencies (zero npm packages required)
- Clone this repository or download the source.
- Open Chrome →
chrome://extensions/ - Enable Developer mode (top-right).
- Click Load unpacked
- Select the project root folder.
- Open your invoicing portal / e-invoice web app.
- Focus the relevant field (code/description/item).
- Click the “ghost” icon.
- Type your term and select a result.
- The extension auto-fills code and/or description.
- Select any text on a page (e.g., an invoice item name).
- Right click → Find KPD code…
- Open the extension UI (popup).
- Paste or upload a CSV list.
- Get mapped results with progress + ETA.
/
├── background/ # Service Worker + context menus + bulk tasks
├── content/ # DOM injection + field detection + auto-fill logic
├── core/ # Search engine + worker + platform utilities
├── data/ # KPD dataset + synonyms
├── icons/ # Assets
├── popup/ # Popup UI (settings + bulk mapping)
└── manifest.json # Extension configuration
---
## © Credits
- **Client:** Aning Usluge d.o.o. — https://aning.hr
- **Development & Strategy:** Matija Radeljak