Encoding is part of the handoff
Open the result in the recipient's application so the workbook preserves the characters they need to recognize.
ParseMill exports reviewed invoices to Excel with separate summaries, line items, sources and review status. You can import an XLSX or CSV template and save a client setup. Run a real invoice through to the final workbook and check it in the application that receives your work.
Record the file encoding explicitly. Do not repair garbled text by repeatedly saving it under different encodings without returning to a known-good source.
Use this executed UTF-8 fixture
| id | unit | description |
|---|---|---|
| U1 | µm | Café |
| U2 | mm² | Müller |
| U3 | °C | Łódź |
These invented rows contain a micro symbol, superscript two, degree sign and several accented letters. During preparation, Python 3.14.6 wrote the rows with csv.writer, encoded them as UTF-8, decoded them as UTF-8 and parsed them again. Exact equality passed for four logical rows including the header and three fields per row. No receiving spreadsheet was exercised in that local check.
Python: CSV reading and writing provides CSV reading and writing; text encoding must also be chosen correctly when the file is opened or converted to bytes.
Run the application check
- Save expected strings in a trusted reference and export the fixture through the same path as the real register. Record encoding and delimiter.
- Import with the receiving application’s explicit file-origin or encoding setting where available. Inspect the preview before loading.
- Compare stored strings character by character and check visible glyphs. Include any unit exponent or prefix whose loss would change meaning.
- Save and reopen the workbook, then repeat the checks. If it will be exported again, test that additional boundary too.
Microsoft: Text/CSV connector documents file-origin settings and notes limits to automatic encoding inference. Use a declared encoding and a verified preview rather than assuming the application guessed correctly.
Diagnose the kind of corruption
Text such as Café suggests an encoding mismatch; a missing-glyph box may instead reflect font support. Inspect the underlying characters before deciding which repair is needed. If the source string itself changed, recover from the known-good export or original document.
Avoid converting all text to plain ASCII as a universal fix. That would remove meaningful unit symbols and alter names. A separate search key may use documented normalization, but the source transcription should remain recoverable.
Accept exact text and readable display
For the fixture, µm must not become mm, mm² must retain its exponent and each accented description must survive exactly. Record both the local parser result and the actual recipient-application result separately. Keep the original fixture bytes available so a later application update can be checked against the same expected strings. A passed parser check does not prove display compatibility.
Use this fixture when evaluating ParseMill exports. Verify the characters important to your source documents before sharing a register across applications or loading it into downstream software.
Put it to work with ParseMill
Make one real invoice your buying test
Choose an invoice you would otherwise enter by hand. Upload it, inspect the extracted fields, correct what needs attention and download Excel. Include every checking minute in the comparison. Subscribe if the result and the time saved make sense for your recurring work.
Eligible new workspaces: 10 pages for 7 days after email verification. No card or automatic subscription.
Invoice processing: $49 USD/month · 500 PDF pages · one user. Buy only after you have checked the fit on your own invoices.
Sources and editorial notes
- Python: CSV reading and writingChecked 2026-10-25
- Microsoft: Text/CSV connectorChecked 2026-10-25
Written by ParseMill. Worked examples are illustrative process examples, not customer results. Software availability can vary by subscription and region; check the linked documentation for your account. Review decisions and approvals remain with your team.