Skip to content

Quick Entry

Quick Entry is the workspace for block operations on the device inventory (V1: "Status Reader"). Devices are scanned in a block or picked individually, the collected list can be reviewed and edited, and several actions can then be applied in one go.

Access

Quick Entry sits at the top of the menu as Quick entry, outside any group (/inventory/quick-entry). One menu item, four tabs: the area carries every path on which work enters the system in batches, without anyone opening one record after another.

Tab Path Path in Permission
Quick Entry /inventory/quick-entry Through the existing device: scan, apply status, create calibrations or an order from the list inventory_view
Certificate Import /certificate-import Through the document: read PDF certificates from external labs, check them, accept them certificate_import_view
Serial creation /inventory/quick-entry/serial Through the consecutive serial number: create many like devices in one go inventory_edit
Table import /inventory/quick-entry/table-import Through the foreign file: read Excel/CSV, map columns, import — see Table import inventory_edit

Every tab is a page of its own, with its own URL and its own permission. A missing permission drops the matching tab; if only one is left, the tab bar disappears entirely.

Changed in 5.64

Serial creation and table import used to be dialogs behind buttons in the Quick Entry header, and Certificate Import had a menu item of its own on top. All four are tabs of the same bar now — linkable, resumable, and found in one place.

Workflow

  1. Choose a status (optional) — dropdown of the active inventory statuses. "Apply status" later sets it on all collected devices.
  2. Collect devices — two ways:
    • Block scan: a text area, one code (asset number) per line. Barcode scanners send a line break after each read, so you can scan continuously. "Add (scan)" resolves all codes in one call.
    • Single pick: quick-search field with "Add".
  3. Review the list — each row shows match state, asset number, serial number, description, manufacturer and current status. Rows can be removed; found devices can be edited directly in a dialog. Unknown codes are flagged and can be created as new devices with one click.
  4. Run actions — applied to all found devices in the list:
Action Effect Permission
Apply status Sets the chosen status on all devices (via the status transition logic incl. mandatory/default field rules) inventory_edit
Create calibrations Creates one calibration per device with the values entered in the dialog calibration_edit
Create order from selection Creates an order with all devices as positions and opens it bookings_edit
Edit device Opens the full edit form for a listed device inventory_edit
Create unknown Creates new devices for unmatched codes (asset number = scanned code) inventory_edit

Serial creation (third tab)

A form with device type, serial number start value, count (1–100), location and note. The trailing numeric part of the serial number is incremented (leading zeros are kept):

Input:    SN-2024-001
Result:   SN-2024-001, SN-2024-002, SN-2024-003, ...

The preview flags existing serial numbers in red; they are skipped as long as "skip existing serial numbers" is set. After creation the page stays put with an empty form — one series is usually followed by the next.

Table import (fourth tab)

Upload an Excel/CSV file, check the column mapping, import. A single row can create customer, inventory, category assignment and calibration together. Workflow, formats and mapping rules: Table import.

Certificate Import (second tab)

The path through the document instead of through the device: PDF calibration certificates from external labs are read in, extracted, checked against the inventory, and only accepted after review.

Extraction takes one of two routes, decided solely by whether the AI feature Certificate import is switched on under Administration → AI:

Mode When What reads
AI extraction AI feature on A language model reads the whole certificate; learned markers correct it field by field
Reading-rule mode AI feature off (as shipped) No model. Reading happens via the markers of the certificate variant plus the built-in reading rules

Everything after that is identical: same review list, same matching, same findings, same acceptance. The Digital Calibration Certificate (DCC) never needed AI anyway — nothing changes for it.

  1. Upload — PDFs by drag & drop or file picker. Extraction runs as a background job with a progress bar; the page stays usable.

    Or through the inbox folder, with no browser at all: see the note below. 2. Review list — each row shows file, status (pending, for review, password protected, not readable, failed, accepted, rejected), certificate number, calibration date, matched device and the check findings.

    When something goes wrong, the reason sits right under the file name — e.g. "the AI service answered with status 429" or "no text layer (probably a scan)". If the whole run aborts (report runner unreachable, AI access blocked), the cause appears next to the progress bar; the affected file stays at pending and carries the reason. 3. Review — clicking a row opens the PDF preview next to the extracted values. Values can be corrected and the device picked from the match candidates; the raw extraction stays visible alongside. 4. Accept or reject — accepting creates the calibration and attaches the certificate as its document. Certificates without findings can be cleared in one go via Accept clean; a finding of severity "error" blocks acceptance until it is resolved. 5. Process again — once the cause is fixed, Process again is enough: the uploaded PDF is still in the import, so only a new run over the same file starts. The header button takes every retryable row at once, the one in the review dialog only the row you opened. Retryable are failed and pending — password protected and not readable do not change without new input, and accepted or rejected certificates are done. If the staged file is gone (after acceptance or rejection), the message says so and the file has to be uploaded again.

The watched inbox folder

Besides the upload there is a second way in, and it needs nobody at a screen: the shipped inbox folder kalibrierschein-import. Whatever a scanner or a network share drops there is picked up by the inbox run and handed to the same review list.

The folder is there out of the box — it does not have to be created. You will find it under Administration → Documents as a slot of type "certificate import"; folder name, roles and groups can be changed there like on any other slot.

The file name does not matter. Unlike the other inbox folders, no pattern is checked here: the assignment is in the certificate, not in the name — scan0007.pdf is perfectly fine.

Files are collected on the inbox run (dms:process-inbox), not the moment they arrive. Between dropping a file and seeing it in the review list lies the configured interval.

None of this changes the decision: the folder produces rows to review. Calibration and certificate are still only created when somebody accepts — even for a certificate with no findings at all.

Action Permission
View the review list and preview certificate_import_view
Upload, correct, reject, process again certificate_import_edit
Accept additionally calibration_edit and dms_edit

Reading-rule mode: import without an AI connection

With the AI feature off the import still runs, just without a language model. The Reading-rule mode notice above the upload area says so.

Reading then happens in two stages:

  1. Built-in reading rules. calServer ships with the labels that appear on almost every German and English calibration certificate — "Certificate No.", "Serial Number", "Date of Calibration", "Manufacturer", "Temperature" and a few more. Whatever follows them is taken over and carries the Reading rule badge.
  2. Learned markers. Whatever the built-in rules miss is shown once in the Markers & learning tab. From the next certificate of the same template on, calServer reads it by itself.

So the first certificate from a new lab is rarely empty and rarely complete — that is the expected state, not a failure. The effort happens once per template, not per certificate. This is exactly how the certificate import worked in calServer V1, except that there the reading template had to be created up front; here it grows out of the first real certificate.

Two things stay open in this mode:

  • The conformity statement ("passed") is not guessed. It sits as running text somewhere in the certificate rather than behind a label — it can only be shown in marker mode or set by hand.
  • Scanned certificates (no text layer) stay not readable. Switching the AI on does not change that; it needs OCR.

What was read appears as a note on the row: "Read without AI (reading-rule mode): 8 of 12 fields found."

Accepted calibrations record that no model was involved: the data source on the record is mrk (instead of ai or dcc), and the audit trail says marker_certificate. An installation without an AI connection will not appear in an assessment as one that has it.

It requires a reachable report runner — it extracts the PDF text, and nothing works without it in either mode. An AI provider is only needed for AI extraction; without one, reading-rule mode applies. If the report runner is missing, the run ends with a message instead of quietly doing nothing.

Changed in 5.65

Previously the upload rejected PDF certificates while the AI feature was off. Installations without an AI connection could not read calibration certificates at all. Now the import falls back to reading-rule mode. It is only rejected when the AI is on but blocked (external service without clearance) — that is a configuration error and should be visible.

API endpoints

POST /api/v2/certificate-imports/upload   # upload certificates, start the run
POST /api/v2/certificate-imports/retry    # process the same files once more
GET  /api/v2/certificate-imports          # review list (optional ?status=)
PUT  /api/v2/certificate-imports/{id}     # corrections on the working copy
POST /api/v2/certificate-imports/{id}/accept   # accept a single certificate
POST /api/v2/certificate-imports/accept   # batch accept (clean ones)
POST /api/v2/certificate-imports/{id}/reject   # reject a certificate

POST /api/v2/inventories/scan-resolve     # codes → devices (matched by asset number)
POST /api/v2/inventories/status-batch     # apply a status to many devices
POST /api/v2/calibrations/bulk            # calibrations for many devices
POST /api/v2/bookings/create-with-inventories  # order from device selection
POST /api/v2/inventories/bulk-preview     # serial creation: preview
POST /api/v2/inventories/bulk             # serial creation: create

Notes

  • Scan matching is exact on the asset number (V1: I4201).
  • Re-scanned codes are merged automatically; the scan order is preserved.