내보내기 형식
데이터는 이용자의 것입니다. OdoNote은(는) 모든 데이터를 다른 소프트웨어에서도 읽을 수 있는 개방형 형식으로 무료로 내보냅니다. 앱이 언젠가 중단되더라도 마찬가지입니다.
파일
- JSON 백업: garagelog-backup-YYYYMMDD.json. 사진을 포함하면 backup.json과 attachments/, vehicles/ 폴더가 든 .zip입니다. 가져오면 모두 복원됩니다.
- CSV: 기록 종류별 파일(vehicles.csv, entries.csv, service_lines.csv, reminders.csv, documents.csv)을 .zip으로 묶습니다. UTF-8(BOM 포함), 쉼표 구분, RFC 4180 인용 규칙. 머리글은 기본적으로 영문입니다.
규칙
- ID는 UUID이며 바뀌지 않으므로 여러 번 내보낸 파일 사이에서 기록을 대조할 수 있습니다.
- 일시는 UTC 기준 ISO 8601, 날짜는 yyyy-mm-dd입니다.
- 금액은 10진수 문자열(예: "45.30")과 ISO 4217 통화 코드입니다.
- 수량은 미터법(리터, kWh, kg)이며, 주행거리는 해당 차량의 distance_unit을 따릅니다.
- 열거값은 문자열이며, 알 수 없는 값은 "other"로 처리합니다.
JSON 백업 (format_version 1)
{
"format": "garagelog-backup",
"format_version": 1,
"exported_at": "2026-09-24T08:00:00Z",
"app_version": "1.0",
"vehicles": [ { "id": "…", "name": "…", "kind": "car", "energy": "hybrid", … } ],
"entries": [ … ],
"service_lines": [ … ],
"reminders": [ … ],
"documents": [ … ],
"attachments": [ … ],
"service_templates": [ … ],
"vendors": [ … ]
}
필드
필드 이름은 고정된 영문 식별자이며, 필드 설명은 영문을 기준으로 합니다.
vehicles · vehicles.csv
| 필드 | 유형 | 설명 |
|---|---|---|
id | uuid | Stable identifier. |
name | string | Name shown in the garage. |
kind | enum | car | motorcycle | truck | other |
energy | enum | gasoline | diesel | lpg | cng | electric | hydrogen | hybrid | phev |
make / model / trim | string? | Free text typed by the user. |
year | integer? | Model year. |
plate / vin | string? | Licence plate and VIN, if entered. |
color_hex | string? | #RRGGBB |
distance_unit | enum | km | mi — the unit of every odometer value of this vehicle. |
volume_unit | enum | liter | galUS | galUK (display preference; quantities are stored in litres). |
economy_unit | enum | kmPerL | lPer100km | mpgUS | mpgUK | kmPerKWh | kWhPer100km | miPerKWh | kmPerKg (display preference). |
odometer_input | enum | odometer | trip |
currency | string | ISO 4217 code, e.g. JPY, KRW, USD, EUR. |
tank_capacity_l | number? | Fuel tank size in litres. |
battery_capacity_kwh | number? | Usable battery size in kWh. |
purchase_date | date? | yyyy-mm-dd |
purchase_price | decimal? | In the vehicle currency. |
purchase_odometer | number? | In distance_unit. |
specs | array | List of {key, value}; key is a built-in id such as tire_size_front or user text. |
region_preset | string | US, JP, KR, DE, ES, CN … — decides built-in templates and document types. |
notes | string? | Free text. |
archived_at | datetime? | Set when the vehicle is archived. |
sort_order | integer | Position in the garage. |
photo_file | string? | Path inside the backup zip (only when photos are included). |
created_at | datetime | When the vehicle was created. |
updated_at | datetime | When the vehicle was last changed. |
entries · entries.csv
| 필드 | 유형 | 설명 |
|---|---|---|
id | uuid | Stable identifier. |
vehicle_id | uuid | Owning vehicle. |
kind | enum | fuel | charge | hydrogen | service | expense | odometer | note |
date | datetime | When it happened. |
odometer | number? | Odometer reading in the vehicle distance_unit. |
trip_distance | number? | Trip meter value, when the vehicle uses trip input. |
total_cost | decimal? | Amount paid. |
currency | string | ISO 4217 code. |
vendor_name | string? | Station or shop name. |
notes | string? | Free text. |
is_incomplete | bool | Marked "to complete later". |
quantity | number? | Energy added: litres (fuel), kWh (charge) or kg (hydrogen / CNG). |
unit_price | decimal? | Price per litre, kWh or kg. |
is_full | bool | Tank filled / battery charged to full. |
missed_previous | bool | A previous fill-up was not recorded. |
fuel_grade | string? | Built-in id (regular, premium, diesel …) or user text. |
charge_location | enum? | home | publicFast | publicSlow |
energy_override | enum? | For plug-in hybrids: whether this entry was fuel or electricity. |
is_diy | bool | Service done by the owner. |
labor_cost | decimal? | Labour part of a service. |
expense_category | enum? | insurance | tax | registration | inspection | parking | toll | wash | fine | loan | other |
recurrence | enum? | none | monthly | yearly |
source | enum | manual | ocr | import | quick |
created_at | datetime | When the entry was created. |
updated_at | datetime | When the entry was last changed. |
service_lines · service_lines.csv
| 필드 | 유형 | 설명 |
|---|---|---|
id | uuid | Stable identifier. |
entry_id | uuid | The service entry this line belongs to. |
template_id | string? | Built-in template id (engine_oil, oil_filter, tires …) or a service_templates id. |
title | string | Item name (empty for built-in templates; use template_id). |
part_name / part_number | string? | Part details. |
quantity | number? | Amount of the part. |
unit | string? | L, pcs, qt … |
unit_price / cost | decimal? | Price per unit and line total. |
sort_order | integer | Order within the entry. |
reminders · reminders.csv
| 필드 | 유형 | 설명 |
|---|---|---|
id | uuid | Stable identifier. |
vehicle_id | uuid | Vehicle. |
document_id | uuid? | Document this reminder renews, if any. |
mode | enum | distance | time | either | fixedDate |
template_id | string? | Completing a service with this template resets the reminder. |
title | string | Reminder name. |
interval_distance | number? | In the vehicle distance_unit. |
interval_months | integer? | Time interval. |
due_date | date? | For fixedDate reminders. |
advance_distance / advance_days | number? | How early to warn. |
manual_last_date / manual_last_odometer | date? / number? | Last done, when there is no matching record. |
is_enabled | bool | Reminder on or off. |
snoozed_until | datetime? | Snooze end. |
created_at | datetime | When the reminder was created. |
updated_at | datetime | When the reminder was last changed. |
documents · documents.csv
| 필드 | 유형 | 설명 |
|---|---|---|
id | uuid | Stable identifier. |
vehicle_id | uuid | Vehicle. |
kind | enum | inspection | insurance | compulsoryInsurance | tax | registration | license | warranty | other |
title / provider / number | string? | Free text (policy number etc.). |
start_date / expiry_date | date? | Validity. |
amount | decimal? | Premium or fee. |
currency | string | ISO 4217 code. |
renew_months | integer? | Default extension when renewed. |
notes | string? | Free text. |
created_at | datetime | When the document was created. |
updated_at | datetime | When the document was last changed. |
attachments
| 필드 | 유형 | 설명 |
|---|---|---|
id | uuid | Stable identifier. |
entry_id / document_id | uuid? | What the photo or PDF belongs to. |
kind | enum | image | pdf |
file | string? | Path inside the backup zip, e.g. attachments/<id>.jpg (null when photos are not included). |
captured_at | datetime? | When the photo was taken. |
ocr_text | string? | Text recognised on the device. |
sort_order | integer | Order. |
created_at | datetime | When it was added. |
service_templates
| 필드 | 유형 | 설명 |
|---|---|---|
id | uuid | Stable identifier. |
title / symbol | string | Name and SF Symbol name. |
default_distance_km | number? | Default interval in km. |
default_months | integer? | Default interval in months. |
applies_to_kinds | array | Vehicle kinds; empty = all. |
hidden_built_in_id | string? | Built-in template this one hides or overrides. |
created_at | datetime | When the template was created. |
updated_at | datetime | When the template was last changed. |
vendors
| 필드 | 유형 | 설명 |
|---|---|---|
id | uuid | Stable identifier. |
name | string | Station or shop name (for auto-complete). |
kind | enum | station | shop | parts | other |
use_count / last_used_at | integer / datetime | Usage statistics. |