Lexoffice Import Online
Felix grabbed his phone. He snapped a photo of a crumpled receipt from "Büromöbel Schmidt" (a new chair, €189). He dragged the JPEG into the drop zone.
Over the next hour, Felix became a mad scientist. He scanned train tickets. He imported a CSV from his online shop (which previously required a blood sacrifice to format). He even uploaded a blurry photo of a restaurant bill taken at midnight—the AI read it perfectly, assigning the "Business Meals (70% deductible)" category.
Felix leaned back. The shoebox was gone. The pile of guilt on his desk was now a clean, sortable list of 347 transactions. lexoffice import
Below are the minimal columns required for each import type. Extra columns are ignored, so feel free to add notes or custom fields.
| Rule | Detail | |------|--------| | | UTF‑8 without BOM. Windows‑1252 will cause “invalid character” errors. | | Delimiter | Comma ( , ) – you can also use semicolon ( ; ) if you tick “Semicolon‑separated” in the import dialog. | | Header Row | Mandatory – column names must match Lexoffice’s field names (see the tables below). | | Date Format | ISO 8601 ( YYYY‑MM‑DD ). Lexoffice will auto‑detect DD.MM.YYYY but it’s slower. | | Decimal Separator | Dot ( . ). If you use a comma, enable the “European number format” toggle. | | Quote Handling | Enclose fields that contain commas, line‑breaks, or quotes in double quotes ( " ). | Felix grabbed his phone
if __name__ == "__main__": import_contacts("contacts.csv")
Use a separate column for each line‑item (e.g., line_2_description , line_2_quantity , …). Lexoffice will automatically create as many lines as you provide. Over the next hour, Felix became a mad scientist
Tip: Use a called source_system (e.g., “QuickBooks2025”) – this helps you trace where the data originated.
Then— whoosh .