Den ärliga loggen
Så hanterar Odotur ändringar
En resa är ett faktum när den väl är registrerad. Du lägger till, du skriver aldrig över. Varje ändring är en ny, daterad post i loggen, historiken förblir synlig, och den skrivs ut i exporten.
Kort sagt
- Det som GPS:en mätte (tider, start- och slutpunkt, sträcka) redigeras aldrig. En felaktig sträcka får en separat rättelserad.
- Varje sparad ändring behåller det gamla värdet, det nya värdet och när ändringen gjordes.
- Efter respittiden kräver en ändring också ett skäl.
- Att radera en resa makulerar den: den finns kvar i loggen och exporten, överstruken, med skälet.
- Luckor (GPS förlorad, appen stoppad av telefonen) registreras och skrivs ut, de döljs inte.
- Loggen kontrollerar sig själv när appen startar och före varje export, och exporten skriver ut resultatet.
Vad som händer när du ändrar något
| Du gör så här | Odotur registrerar | I exporten |
|---|---|---|
| Fyller i eller ändrar ett ärende, en kategori, en adress eller ett annat fält | En revision: fält, gammalt värde, nytt värde, när. Inom respittiden frågas inte efter något skäl; efter den krävs ett skäl (Glömt, Skrivfel, Fel plats eller Annat, plus valfri text). | Det aktuella värdet i raden, och varje revision efter den första sparningen i revisionsbilagan. |
| Rättar km för en GPS-resa | En separat rättelse (+ eller - km, med ett skäl). Den uppmätta sträckan förblir som den var. | Rättelsen bredvid resan och i bilagan med rättelser. Summorna inkluderar den. |
| Raderar en resa | En makulering, med ett skäl. Den kan återställas senare, och det registreras också. | Överstruken, med skälet. Makulerade resor räknas aldrig in i summor eller räknare. |
| Lägger till en resa du glömde | En manuell resa, markerad "registrerad" med datumet då du skrev in den. | Markerad Manuell. Inskriven mer än 7 dagar efter resan: "sen registrering". |
| Loggar en möjlig körning | En manuell resa utifrån förslaget. Om du justerar tiderna förblir det ursprungliga förslaget synligt. | Markerad som möjlig körning. |
| Fortsätter efter ett för tidigt stopp | En länk mellan de två delarna. | En resa med en pausrad; km läggs ihop. |
| Ingenting: GPS:en tappades eller telefonen stoppade appen | En lucka, med orsak. Efter ett avbrott avslutas resan vid den senast mottagna positionen; ingen tid eller orsak hittas på. | I bilagan med luckor. Uppskattade km är märkta som uppskattade. |
| Anger en mätaravläsning | Avläsningen. När den avslutar ett intervall: en avstämning med skillnaden mellan mätaren och dina loggade km. | Nederländerna: en rättelseresa, fördelad proportionellt. Andra länder: en notering om avvikelsen, utan att km fördelas. En senare avstämning av samma intervall ersätter den tidigare; båda skrivs ut. |
Respittid: 7 dagar efter att resan avslutats, 2 dagar i den österrikiska profilen. De 2 dagarna är ett produktval för "zeitnah", ingen rättslig säker period. Ändringar inom respittiden registreras också; de kräver bara inget skäl.
Ett formulär som du inte har sparat än är ingen post. Varje Spara är det, även när du fyller i ett tomt fält för första gången.
- #1041GPS-resa registrerad 08:12-08:41, 23,4 km uppmätt3 mars 08:41
prev 52ab… → 7c1e… - #1042Revision Kategori: tomt → Tjänst3 mars 18:02
prev 7c1e… → 0d94… - #1043Revision Ärende: tomt → Kundbesök, Vejle3 mars 18:02
prev 0d94… → e61f… - #1067Rättelse +1,2 km, skäl: GPS-korrigering12 mars 09:15
prev a3f9… → 4b20… - #1088Makulering en annan resa, skäl: Dubblett14 mars 17:40
prev 4b20… → 91cc…
Var du ser det
- I appen: varje resa har en historikvy och en kort källrad: "GPS · registrerad 08:41", "Manuell · inskriven 12 mars" eller "Sen registrering".
- I PDF- och CSV-exporten: reseraderna, sedan bilagor för rättelser, makuleringar, luckor, avstämningar och noteringar om avvikelser, samt revisionsbilagan. Revisionerna tas med per det ögonblick då du exporterar: en ändring som görs senare i en gammal resa syns i senare exporter.
- På varje PDF-sida: sida n av N, tidpunkten som exporten gäller per, och loggens senaste hash (Logg-hash). En förklaring beskriver avlästa, beräknade och okända mätarställningar, källorna GPS, Manuell och Möjlig körning, samt uppskattade km.
För arbetsgivare, revisorer och skattegranskare
Loggen är en lista med händelser där poster bara läggs till, lagrad i en databas på användarens telefon. Databasen vägrar själv att ändra eller ta bort en post, och ett automatiskt test söker igenom appens kod efter varje sats som skulle göra det. Det enda sättet för poster att försvinna är Radera allt och att återställa en säkerhetskopia, vilket ersätter hela loggen (se Ärliga begränsningar). Det du ser som en "resa" byggs upp från händelserna.
- Två tider per post. Varje post har
occurred_at(när faktumet inträffade) ochrecorded_at(när det skrevs). Båda skrivs ut: en rättelse för mars som registreras i april visar båda datumen. - Enheter. Sträckor lagras som hela meter, tider som millisekunder i UTC med tidszonen vid registreringen, och belopp i minsta valutaenhet. Avrundning sker bara vid visning (0,1 km) och på summor, aldrig på lagrade fakta.
- Hashkedjan. Varje post lagrar
hash = SHA-256(prev_hash ‖ canonical JSON)av sitt sekvensnummer, typ, entitet, entitets-id, nyttolast,occurred_atochrecorded_at.prev_hashär föregående posts hash som 64 hexadecimala tecken (64 nollor för den första posten). Kanonisk JSON följer RFC 8785 (JSON Canonicalization Scheme), med text normaliserad till Unicode NFC. Om en lagrad post ändras ändras dess hash, och varje länk efter den bryts. - Kontrollen. Appen räknar om kedjan i bakgrunden när den startar och igen före varje export. Vid en avvikelse visas "Loggkontrollen misslyckades vid post N", och exporten skriver ut brottet. Exporterna skriver ut den senaste hashen, och CSV-filen listar varje posts sekvensnummer och hash.
- Mätarställningar skrivs ut som avlästa (inskrivna av användaren), beräknade (räknade mellan två inskrivna avläsningar, bara när ingen lucka eller möjlig körning är olöst däremellan) eller okända. Strikta profiler visar en varning i checklistan för varje beräknat värde. Om ett beräknat värde är godtagbart avgör den som läser loggen.
- Belopp har en version och ett regel-id, som skrivs ut i varje rapport. En uppdaterad beloppstabell ändrar aldrig i det tysta en export som du redan har gjort.
- Tyskland. Layouten Fahrtenbuch (DE) är ett slutet kronologiskt formulär för hela året, med ändringshistoriken i samma fil. Ett ärende eller en affärspartner som läggs till mer än 7 kalenderdagar efter en resa skrivs ut som "sen registrering", om inte datum, mätarställning och resmål registrerades när resan avslutades. Om loggen passar för Fahrtenbuchmethode avgör användaren och dennes rådgivare.
Ärliga begränsningar
- Kedjan visar ändringar som gjorts i appen och upptäcker ändringar som bryter den. Den som har full åtkomst till enheten kan skriva om hela kedjan från början till slut, och appen kan inte förhindra det. Loggen visar hur den har förts, den bevisar inte att ingen kan ha ändrat den.
- Odotur är ett oberoende verktyg. Det har ingen koppling till någon skattemyndighet.
- Radera allt (i Inställningar, bekräftas genom att du skriver RADERA) tar bort hela loggen från telefonen, inklusive historiken. Det är dina data och ditt val. Spara de exporter eller säkerhetskopior som ditt land kräver att du sparar.
- När du återställer en säkerhetskopia ersätts loggen på telefonen med loggen i säkerhetskopian, och den återställda kedjan kontrolleras.
- GPS-sträckor kan vara fel, och en telefon kan stoppa en app under en resa. Därför registreras luckor, uppskattningar och rättelser i stället för att döljas.
Frågor om loggformatet: odotur@benbasha.com.