Skip to content

company_profile

The company profile holds the organisation's own details for document headers and footers, and the currency of every amount in the inventory.

  • One record per inventory, id 00000000-0000-4000-8000-000000000001. Every device writes this id; there is no second profile.
  • Mutable: the version with the greater hlc wins.
  • Never deleted. A client that finds no record uses an empty profile.
Field Type Writer Default Meaning
name string? optional "" Company name. Without a name, delivery notes leave out the company block in the header, and loan conditions use "the company" for {company}.
addition string? optional none Second line, for example a department or the legal form
street, postal_code, city string? optional none Address
country string? optional none Free text. Also used to suggest the jurisdiction of loan conditions (see document_template)
phone, email, website string? optional none Printed in the header
tax_id string? optional none Printed in the footer after a "tax number" label
register string? optional none Commercial register entry, printed in the footer
bank string? optional none Bank details, printed in the footer
logo sha256? optional none Attachment: PNG or JPEG. The reference app stores a PNG scaled to at most 800 pixels on the long side.
accent_color string? optional app default Colour of headings and lines on documents, #RRGGBB
currency string? optional region of the device ISO 4217 code of every price, replacement value and penalty amount in the inventory, for example EUR

There is one currency per inventory. Amounts in other records (purchase_price, sale_price, replacement_value, penalty rates and caps) are plain numbers in this currency. When currency is absent, the reference app uses the currency of the device's region and falls back to EUR; devices in different regions can then show different currency symbols for the same numbers, so organisations SHOULD set it. Changing the currency does not convert any amount.

The reference app prints the logo and the custom document layout only with the Pro or Team plan; without it, documents use the standard layout and a "Created with LVE" line. This is an app feature and does not change the records.

Field Rules
logo nullable, string matching ^[0-9a-f]{64}$
accent_color nullable, string matching ^#[0-9A-Fa-f]{6}$
currency nullable, string matching ^[A-Z]{3}$

All other fields are not checked.

{
"entity": "company_profile",
"id": "00000000-0000-4000-8000-000000000001",
"op": "upsert",
"hlc": "001791792000123-0005-3F2A9C1B",
"data": {
"name": "Muster Elektro GmbH",
"addition": "Service and installation",
"street": "Hauptstrasse 1",
"postal_code": "10115",
"city": "Berlin",
"country": "Germany",
"phone": "+49 30 7654321",
"email": "[email protected]",
"website": "www.example.com",
"tax_id": "DE123456789",
"register": "HRB 12345, Amtsgericht Berlin",
"bank": "IBAN DE00 0000 0000 0000 0000 00",
"logo": "d2b2787a39359f322ea5f380f19e4637c95a81135a0a5cb875a04fe0be0470e5",
"accent_color": "#5F58E6",
"currency": "EUR"
}
}
schemas/company_profile.json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Company profile",
"description": "The own company as printed on documents. One record per inventory with the fixed id 00000000-0000-4000-8000-000000000001. Mutable: the version with the greater hlc wins.",
"type": "object",
"properties": {
"name": { "description": "Company name. Absent or null means an empty name; documents then leave the company block out.", "type": ["string", "null"], "default": "" },
"addition": { "description": "Second name line, for example the legal form or a department.", "type": ["string", "null"] },
"street": { "type": ["string", "null"] },
"postal_code": { "type": ["string", "null"] },
"city": { "type": ["string", "null"] },
"country": { "description": "Free text. Also used to suggest the jurisdiction of loan conditions.", "type": ["string", "null"] },
"phone": { "type": ["string", "null"] },
"email": { "type": ["string", "null"] },
"website": { "type": ["string", "null"] },
"tax_id": { "description": "VAT or tax number, printed in the document footer.", "type": ["string", "null"] },
"register": { "description": "Commercial register entry, printed in the document footer.", "type": ["string", "null"] },
"bank": { "description": "Bank details, printed in the document footer.", "type": ["string", "null"] },
"logo": { "description": "SHA-256 of a PNG or JPEG attachment. The reference app stores a PNG scaled to at most 800 pixels on the long side.", "type": ["string", "null"], "pattern": "^[0-9a-f]{64}$" },
"accent_color": { "description": "Colour of headings on documents, #RRGGBB.", "type": ["string", "null"], "pattern": "^#[0-9A-Fa-f]{6}$" },
"currency": { "description": "ISO 4217 code of all prices and replacement values, for example EUR. Absent or null: clients use the currency of their region.", "type": ["string", "null"], "pattern": "^[A-Z]{3}$" }
},
"additionalProperties": true,
"examples": [
{
"name": "Muster Elektro GmbH",
"addition": "Service and installation",
"street": "Hauptstrasse 1",
"postal_code": "10115",
"city": "Berlin",
"country": "Germany",
"phone": "+49 30 7654321",
"email": "[email protected]",
"website": "www.example.com",
"tax_id": "DE123456789",
"register": "HRB 12345, Amtsgericht Berlin",
"bank": "IBAN DE00 0000 0000 0000 0000 00",
"logo": "d2b2787a39359f322ea5f380f19e4637c95a81135a0a5cb875a04fe0be0470e5",
"accent_color": "#5F58E6",
"currency": "EUR"
}
]
}