Perunlight · Runhild 0.1.1 · illustrated guide

One sheet.
A matching set of documents.

Turn repeated handovers, packing lists and receipts into one checked batch. Start with the example, then use the same path with your own sheet.

Works locallyCSV or XLSXUp to 60 DOCX drafts
01 / First result

Try the whole workflow before preparing a file.

Extract the complete Runhild-0.1.1.zip to a folder. The app opens as a local HTML file; there is no server or installation.

The runnable app and templates are in the buyer package. This free pack contains the guide, actual screenshots and fictional practice files.

01

Try the example

Choose Try the example in Step 1. Three fictional item rows become two checked packets. Focus moves to the ready download.

02

Choose the documents

Handover act is selected initially. Add Packing list and Confirmation of receipt for all three templates.

03

Check and download

Run Check the packets after changing templates. Download ZIP gives you six DOCX drafts, a manifest and an HTML report.

With the default single template, the built-in example produces two documents. Select all three templates and check again to produce six.

Actual Runhild 0.1.1 example with two packets, three item rows and the default two-document download ready
Actual Chrome 152 screen on Linux. The built-in example is explicitly marked as fictional. This is the default one-template state.
02 / Your sheet

Keep repeated details in one place.

Choose Download example CSV, or open the included starter CSV. Replace the fictional names and rows, then save as UTF-8 CSV. Keep identifier columns as text when editing in a spreadsheet so leading zeros survive.

Choose your CSV or XLSX in Data file. For a workbook, select one worksheet. For CSV, check the detected delimiter and choose Comma, Semicolon or Tab if needed. Confirm all eight field mappings in Step 2.

FieldWhat to enter
packet_idRows sharing this ID belong to the same packet.
document_dateA real date, YYYY-MM-DD. Identical within a packet.
sender_name
recipient_name
Identical on every row of their packet.
item_idA unique item code within its packet. Text preserves zeros.
item_nameThe description shown in the item table.
quantityA positive whole number, up to 1,000,000.
unitA label such as pcs, box or kg.

A separate practice case

Tool library handover CSV contains four fictional rows in two packets. Select all three templates to get six documents. PK-001 has two items and 14 units; PK-002 has two items and four units. The item code 0042 must keep its leading zeros.

03 / Templates

One packet per recipient. One document per template.

Start with the three included examples. Editable DOCX copies are in app/templates/ in the buyer package. To adapt a template, follow the template guide: supported plain placeholders and a single repeating item row in the main document body.

Runhild does not accept arbitrary Word forms. Unknown placeholders, unsupported fields or placeholders in headers, footers and text boxes are refused with an explanation. Keep a backup of your original template.

Actual Runhild example after selecting all three templates and downloading the six-document packet
Three templates × two packets = six DOCX drafts. The packet table shows the planned data and files, not a rendered Word page.
04 / Review and recover

Know what passed, and what still needs your attention.

Open the downloaded ZIP. documents/ holds the DOCX drafts, manifest.json records the source rows, mappings and output checksums, and report.html gives a readable summary. Review every draft in the Word version you actually use before sharing it.

The download is disabled.
Run Check the packets after changing the input, separator, worksheet, mapping or templates. Follow the reported row, column and value to fix an issue. Runhild refuses the whole export rather than writing a partial batch.
A replacement file could not be loaded.
Your previous loaded file, mapping and checked packets remain available. A valid replacement clears the old check. Choose the correct file and check again.
I changed the separator while an operation was running.
The old operation is cancelled; its explanation remains visible after the table is read again. Check the current input before downloading.
I reloaded or closed the page.
Session data is cleared. Choose your sheet again. Keep your original input and downloaded ZIP; the app does not provide project storage.
Actual Runhild refusal of an invalid replacement XLSX while the existing example and checked download remain available
A refused replacement does not destroy the checked result. This screen uses an intentionally invalid fictional workbook.
05 / Fit and limits

Use it for repeatable draft documents.

Up to 100 data rows, 20 packets, three templates and 60 documents per run. Data files: up to 5 MB; templates: up to 8 MB. Archive expansion and output sizes have separate bounds. See all enforced limits and spreadsheet restrictions.

Only values are imported: formulas, error cells, unsupported number formats and ambiguous values are refused. No PDF conversion, OCR, signatures, tax calculations or legal/accounting verification.

This release was checked offline in Chrome 152 on Linux, using only synthetic data. Other platforms and document rendering in Microsoft Word remain unverified. Existing Windows Edge evidence covers startup only. The app makes no network requests and clears state when reloaded.

Read the unchanged preview permission, guide bundle terms and third-party notices. Existing no-charge preview-use rights, including real workflows, continue to apply. The paid package adds this organized guide edition and delivery; it does not revoke those rights.