Create hardware from an invoice
Upload a PDF or photo of an invoice and let OnTrackio read the supplier, serials, price, and warranty, so you fill in the Add hardware form by hand far less often. Use this when you onboard newly purchased devices and have the purchase document to hand.
Nothing is saved until you review the extracted values and confirm — extraction is never perfectly confident, so a person always stays in the loop.
:::note Before you begin
- You have an admin, IT admin, or super admin role. The Hardware section lives under
/admin/hardware. - You have the invoice as a PDF or image (JPEG, PNG, WebP, or HEIC/HEIF), up to 25 MB.
- Document extraction is configured for your workspace (see extractor tiers below). The upload screen shows a banner telling you which extractor will run before you commit a file. :::
To add a device by hand, see Add a hardware asset. To import many assets at once, see Bulk actions and import.
Extractor tiers
Result quality depends on which extractor is available. The banner on the upload screen tells you which one will run.
| Tier | Banner | Needs | What you get |
|---|---|---|---|
| AI extraction | Green | Anthropic API key in Settings → Documents | High-confidence structured fields (supplier, serial, model, purchase date, warranty) |
| Text + OCR fallback | Amber | No API key — embedded PDF text or OCR | Far less accurate; often misses structured fields, so expect to type most of the form |
| None | Warning | Neither configured | Upload still works; the file attaches but nothing is pre-filled |
Upload the invoice
- In the admin console, open Hardware, then select From invoice.
- Check the banner to confirm which extractor will run.
- Under Invoice or receipt, choose your PDF or image.
- Select Upload & extract.
OnTrackio stores the file and opens a Reading your invoice screen that refreshes on its own while extraction runs — usually 5 to 15 seconds with AI extraction. Select Refresh now to wait less, or Skip & fill manually to abandon extraction and type the form yourself.
When extraction finishes, OnTrackio routes you automatically based on how many physical items the invoice contains.
Upload form
| Field | Required | Default | Notes |
|---|---|---|---|
Invoice or receipt (file) | Yes | — | PDF or image. Max 25 MB. Accepts application/pdf, image/jpeg, image/png, image/webp, image/heic, image/heif |
Review a single item
If the invoice covers one physical device, OnTrackio opens the standard Add hardware form with the extracted fields pre-filled: identification (name, manufacturer, model, serial), specifications it found (colour, CPU, RAM, storage, OS), and financials (purchase price, currency, purchase date, warranty expiry, purchase order, invoice number).
OnTrackio also matches the supplier to an existing vendor and infers a category from the product name, so iPhone 15 Pro lands in your Phone category without you choosing it.
Review every pre-filled field, correct anything wrong, add anything missing, then select Create asset. For what each field means and what happens on save, see Add a hardware asset.
Treat extracted values as a draft, not the truth. Always check the serial number, price, and dates against the paper invoice before you save — OCR and AI both make mistakes, especially on photographed or low-quality scans.
Review and create multiple items
If the invoice covers more than one device — several line items, or one line with a quantity above one — OnTrackio opens the Review invoice items screen and expands the invoice into one editable row per physical unit. A line for two laptops becomes two rows, so each device carries its own serial.
A summary banner shows what OnTrackio read once and applies to every row: supplier (and whether it matched an existing vendor or will be created), purchase date, warranty expiry and how it was derived, currency, and invoice number. Select Open invoice in new tab to compare against the original.
To create the assets:
- Review the rows. Each shows Name, Asset tag, Serial, Colour, Storage, RAM, and Unit price. Other extracted fields (manufacturer, model, purchase date, warranty) carry through behind the scenes and apply to every row.
- Clear the checkbox on any row you do not want. Invoices often include shipping or warranty lines that should not become assets — leave those unticked.
- Edit per-unit details that differ. Serial numbers in particular are unique per unit, so fill them in from each device's box label.
- Give every ticked row a Name — the only required field per row.
- Leave Asset tag blank to let OnTrackio generate a unique tag, or enter your own scheme.
- Select Create ticked assets.
To collapse the invoice into a single record instead — useful for a spare-parts bundle or a pack of cables — select Create 1 asset only. This switches you to the single-item form above.
Per-row fields
Only Name is required, and only on ticked rows. Everything else is optional and pre-filled from extraction where found.
| Field | Required | Default | Notes |
|---|---|---|---|
| Name | Yes (ticked rows) | Extracted model or description | Max 255 chars |
| Asset tag | No | Auto-generated if blank | Max 64 chars; unique across the workspace |
| Serial | No | Extracted | Max 255 chars; unique across the workspace, including archived assets |
| Colour | No | Extracted | Max 64 chars |
| Storage | No | Extracted | Max 64 chars |
| RAM | No | Extracted | Max 64 chars |
| Unit price | No | Extracted | Numeric, 0 or more |
| Currency | No | Extracted | 3-letter code |
| Manufacturer, model | No | Extracted | Max 255 chars; carried through to every row |
| Purchase date, warranty expiry | No | Extracted (or derived) | Valid dates |
Each serial and asset tag must be unique across the workspace, including against archived assets. If OnTrackio finds a duplicate before creating, it names the affected rows and creates nothing — fix or clear the clashing field and try again.
How the invoice is stored and attached
You upload the invoice once. When you create the asset, OnTrackio attaches the original file to the new record automatically — there is no second upload. For a multi-item invoice, the file attaches to the first asset created, and its description notes how many sibling assets came from the same invoice.
Attached documents appear in the Documents & invoices section on the asset's detail page. For each you can select Preview (PDFs and images), Download, or Delete. OnTrackio also records which fields the invoice set, who applied them, and when, so the change keeps an audit trail even if you edit the asset later.
Attach an invoice to an existing asset
To add an invoice — or a warranty certificate, contract, or other document — to an asset you already created:
- Open the asset's detail page and find the Documents & invoices section.
- Select + Upload.
- Choose the file and set its details (see the table below).
- Select Upload & extract.
This is the right path when the invoice arrives after the asset exists, or when you attach a supporting document that should not create new assets.
Attach-document form
| Field | Required | Default | Notes |
|---|---|---|---|
| File | Yes | — | PDF or image, max 25 MB. Same MIME allowlist as the upload form above |
| Category | Yes | — | One of: invoice, warranty, contract, manual, handover, return, photo, other |
| Description | No | — | Max 500 chars |
| Confidential | No | Off | When on, hides the file from the person the asset is assigned to |
If an extractor is available, OnTrackio reads the document and shows an extraction status on the document row.
Apply extracted fields to an existing asset
When extraction completes on a document attached to an asset, you can copy individual values onto that asset:
- In the Documents & invoices section, find the document and select Review.
- In the panel, each extracted field has an Apply? checkbox and an editable value. Tick only the fields you want to write, and edit any value that needs correcting.
- Select Apply ticked fields to Hardware.
Only ticked fields are written. The writable set is purchase_date, purchase_price, currency, warranty_expires_at, end_of_life_at, purchase_order, invoice_number, serial_number, manufacturer, and model. OnTrackio confirms which fields it applied and records the change. Applying again later overwrites any manual edits made since.
The asset may already hold better data than the invoice — for example, a serial you typed by hand. Leave those fields unticked so applying the invoice doesn't overwrite them.
Reprocess a document
If extraction fails, the document row shows the error and a Retry action. Select Retry to queue extraction again — useful after you add an API key in Settings → Documents, or for a transient failure. Retry needs an extractor to be available; if none is configured, OnTrackio asks you to set one up first.
Verify
- After a single-item create, the asset's detail page opens with a confirmation message showing the invoice values.
- After a multi-item create, you return to the Hardware list with a message naming how many assets were created.
- Open an asset's detail page and check Documents & invoices — the original invoice is listed and available to Preview or Download.
Troubleshooting
| Symptom | What to do |
|---|---|
| Banner says no extractor is available | No Anthropic API key is set and no OCR is installed. Ask an admin to add a key in Settings → Documents. You can still upload and fill the form by hand. |
| Most fields came back empty | The file was likely a scan or photo read by the text/OCR fallback. Check the banner for which extractor ran, set an API key for better results, or fill the gaps manually. |
| Waiting screen doesn't move on | Select Refresh now. On completion, failure, or skip, OnTrackio sends you to the form. You can also Skip & fill manually at any time. |
| A serial or asset tag is already taken | Another asset — possibly an archived one — uses that value. Clear the field (add it later from the asset page) or untick the row, then create again. |
| Supplier was created as a new vendor | OnTrackio matches suppliers by name, tax ID, and website. A slightly different name on the invoice can create a new vendor. Merge or rename it from the vendor record. |
| Warranty date looks wrong | When the invoice doesn't state a warranty, OnTrackio defaults to one year after the purchase date. Edit the warranty expiry on the asset or review screen. |