Skip to Content

Modellen account.move.line: Forstå Odoo Journal Entry Lines

En komplett veiledning til Odoos modell for postlinjer i bilagsføring, skrevet for både utviklere og funksjonelle konsulenter
10. mars 2026 etter
Modellen account.move.line: Forstå Odoo Journal Entry Lines
Dasolo
| No comments yet

Innledning


I Odoo beskriver en modell hvordan informasjon organiseres og lagres i databasen. Alt fra salg og innkjøp til fakturaer og regnskapsbilag ligger i ulike modeller som definerer feltene, relasjonene og regnellogikken for hvert datatyper.


Å forstå modeller er helt sentralt for både utviklere og funksjonelle konsulenter. Modeller utgjør grunnmuren i Odoos datamodell og bestemmer hva som kan lagres, hvordan poster henger sammen, og hvor forretningsreglene sjekkes.

Her ser vi nærmere på en kjernekomponent i regnskapsmodulen: account.move.line. Enten du lager skreddersydde rapporter, kobler til eksterne systemer eller setter opp avstemmingsrutiner, vil du ofte måtte forholde deg til denne modellen.

Hva er modellen account.move.line


account.move.line beskriver hver enkelt linje i et regnskapsbilag — altså hver enkelt debet- eller kreditpost. En komplett bilagsoppføring består av flere linjer som til sammen må balansere, slik at summen av debet = summen av kredit.


Modellen brukes av regnskapsmodulen og er en underordnet post til account.move, som representerer selve bilaget (fakturaer, leverandørfakturaer, banklinjer og manuelle bilag). Hvert bilag vil ha én eller flere tilknyttede linjer.


Selve definisjonen ligger i account-modulen, men andre moduler bygger på den via Odoos arvmekanismer. Salg legger til informasjon for fakturalinjer, innkjøp legger inn leverandørdetaljer, og analytisk regnskap tilfører fordelingsdata — alt uten å kopiere grunnstrukturen.

Viktige felt i modellen


Nedenfor får du en oversikt over de viktigste feltene i account.move.line. Kjennskap til disse gjør det mye enklere å forstå bilag, rapporter og avstemmingsprosesser.


1. name

Type: Char. Feltet holder linjens etikett eller beskrivelse og vises ofte i bilagsoversikter og dokumenter. For fakturalinjer settes det gjerne fra produktnavn eller en brukergenerert tekst.


2. move_id

Type: Many2one (account.move). Kobler linjen til overordnet bilag. Hver linje tilhører akkurat ett move, og dette er hovedrelasjonen i modellen.


3. account_id

Type: Many2one (account.account). Angir regnskapskontoen linjen føres på. Feltet er påkrevd og skal peke til en aktiv ikke-aggregert konto — avgjørende for rapportering og gruppering.


4. debit

Type: Float. Debetbeløpet; standard 0.0. På en linje settes enten debit eller credit, ikke begge. Debet øker typisk eiendeler og kostnader.


5. credit

Type: Float. Kreditbeløpet; standard 0.0. Kredit øker forpliktelser, egenkapital og inntekter. Et bilag må alltid ha like mye debet som kredit.


6. balance

Type: Float. Beregnet felt: debit minus credit. Viser linjens nettoeffekt — positiv verdi for debet, negativ for kredit — og brukes i rapporter og avstemming.


7. partner_id

Type: Many2one (res.partner). Kobler linjen til kunde, leverandør eller annen forretningspartner. Viktig for fordrings-/gjeldsoppfølging, forfallsrapporter og avstemming.


8. date

Type: Date. Linjens regnskapsdato; arves ofte fra parent move. Brukes ved periodestenging, rapportering og forfallsberegninger.


9. date_maturity

Type: Date. Forfallsdatoen for betalingen. Relevante for fordrings- og gjeldsoversikter samt forvalgt i aldringsrapporter.


10. currency_id

Type: Many2one (res.currency). Valutaen for linjen — kan avvike fra selskapsvalutaen ved flervalutahåndtering.


11. amount_currency

Type: Float. Beløpet i linjens valuta. Brukes for poster i utenlandsk valuta og sammen med currency_id for å håndtere omregninger.


12. quantity

Type: Float. Valgfritt antall. Nyttig for produktbaserte linjer på fakturaer og regninger for å kunne vise mengde og beregne enhetspriser.


13. product_id

Type: Many2one (product.product). Produktet knyttet til linjen når den har opprinnelse i salg eller innkjøp. Brukes for sporbarhet og rapportering per vare.


14. product_uom_id

Type: Many2one (uom.uom). Enhetsmål som gir kontekst til quantity og sørger for riktig visning og konvertering.


15. price_unit

Type: Float. Enhetspris brukt sammen med quantity for å kalkulere linjeverdien på fakturaer og regninger.


16. tax_ids

Type: Many2many (account.tax). Skatter som gjelder for linjen. Når bilaget posteres opprettes egne linjer for skatt, for eksempel MVA.


17. tax_line_id

Type: Many2one (account.tax). For skatterader peker dette feltet tilbake til skatten som genererte linjen og skiller skatterader fra vanlige poster.


18. analytic_account_id

Type: Many2one (account.analytic.account). Analytisk konto for kostnads- eller resultatsporing når analytisk regnskap er aktivert.


19. analytic_distribution

Type: Json eller Text. Lagrer fordeling over flere analytiske kontoer — benyttes i nyere versjoner for komplekse fordelingsplaner.


20. ref

Type: Char. Ekstern referanse eller notat, ofte arvet fra parent move. Brukes på rapporter og kan hjelpe ved automatisk match mot andre dokumenter.


21. narration

Type: Text. Intern merknad som vanligvis følger bilaget, men som ikke nødvendigvis vises på kunde-/leverandørdokumenter.


22. journal_id

Type: Many2one (account.journal). Journalen til overordnet bilag — nyttig for filtrering og journalspesifikk rapportering.


23. company_id

Type: Many2one (res.company). Angir selskapet i flerbedriftsoppsett; påvirker synlighet, rettigheter og konsolidering.


24. reconciled

Type: Boolean. Marker om linjen er fullstendig avstemt. Brukes til å filtrere og vise åpne poster ved avstemming.


25. full_reconcile_id

Type: Many2one (account.full.reconcile). Kobler sammen alle linjer som ble avstemt i samme gruppe, slik at man kan spore hvilke poster som ble slått sammen.


26. payment_id

Type: Many2one (account.payment). For betalingslinjer peker dette feltet til betalingstransaksjonen brukt ved avstemming av fakturaer.


27. statement_id

Type: Many2one (account.bank.statement). Kobler linjen til bankoppgjøret den stammer fra, relevant ved bankavstemming.


28. statement_line_id

Type: Many2one (account.bank.statement.line). Pekepunkt til spesifikk banklinje når du matcher bilag mot banktransaksjoner.


29. display_type

Type: Selection. Brukes for visuelle seksjonsoverskrifter eller merknader i bilaget ('line_section' eller 'line_note') — disse linjene har ingen debet/kredit.


30. create_date

Type: Datetime. Registrerer når posten ble opprettet; ble satt automatisk av Odoo og gir sporbarhet.


31. write_date

Type: Datetime. Registrerer siste endringstidspunkt; nyttig for revisjon og historikk.

Hvordan modellen brukes i forretningsprosesser


1. Kundefakturaer

Når en faktura bekreftes oppretter Odoo flere account.move.line-poster: inntektslinjer på salgsinntektskontoer, fordringslinjer mot kunden og egne linjer for skatt. partner_id binder fordringen til riktig kunde slik at aldrings- og avstemmingsprosesser fungerer.


2. Leverandørfakturaer

Leverandørfakturaer oppretter tilsvarende linjer for kostnader, inngående MVA og leverandørgjeld. Strukturen ligner på kundefakturaen, men med kontoer og tegn omvendt der det passer.


3. Bankavstemming

Banklinjer matches mot move-linjer via statement_line_id. Ved avstemming grupperes linjer og kobles sammen (full_reconcile_id) og feltet reconciled settes til True for lukkede poster.


4. Manuelle bilag

Brukere kan lage egne journalbilag med flere linjer; hver linje får konto, debet eller kredit og gjerne partner. Før posting krever Odoo at bilaget er balansert.



5. Analytisk rapportering

Med analytisk regnskap angis analytic_account_id eller analytic_distribution på linjene. Rapporter kan deretter brytes ned på prosjekt, avdeling eller andre dimensjoner for å vise kostnads- og resultatfordeling.

Hvordan utviklere bygger ut modellen


Utviklere bygger på account.move.line med flere teknikker, der Odoos modell-arv er det vanligste verktøyet.


Modellarv

Sett _inherit = 'account.move.line' for å utvide modellen. Du kan legge til felt, overstyre metoder eller legge til datavalideringer. Å holde endringene i egne moduler gjør oppgraderinger enklere.


Tillegg av felt

Definer nye felt i arvet modellen med passende typer (Char, Many2one, Boolean, Integer, Text, Selection). Tenk gjennom selskapsavhengighet i flerselskapsmiljøer og avhengigheter for beregnede felt.


Python-utvidelser

Overstyr metoder som create, write eller unlink for å implementere logikk, men kall alltid super() for å bevare standardoppførsel. Unngå å bryte kravet om at debet må balansere med kredit.


Odoo Studio

Odoo Studio gir mulighet til å legge til felt uten koding — nyttig for raske merkelapper eller ekstra metadata. For avansert logikk og avstemming er skreddersydde moduler likevel mer robust og vedlikeholdsvennlig.

Gode fremgangsmåter


  • Gå alltid via parent move når du oppretter eller endrer linjer. Direkte manipulering av move-line uten å bruke move sin API kan føre til inkonsistente data og hoppe over viktige valideringer.
  • I rapportbygging, filtrer på move_id.state = 'posted' for å utelate utkast og annullerede bilag.
  • Bruk account_id med riktig kontotype (for eksempel receivable eller payable) for at aldringsrapporter og automatisk avstemming skal fungere korrekt.
  • Ved API-integrasjoner: opprett først move, legg så til linjer, og sørg for at debet og kredit balanserer før du poster bilaget.
  • For egne felt, følg navnekonvensjonen med x_ eller et modulprefiks for å unngå kollisjoner med framtidige Odoo-felt.

Vanlige feil


  • Å sette både debit og credit på samme linje. Hver linje skal kun ha ett av feltene satt.
  • Å opprette ubalanserte bilag. Odoo krever at sum debet = sum kredit ved posting.
  • Å endre postede linjer direkte i stedet for å bruke reversering eller justeringsbilag. Endringer på poster som er postet bør gjøres gjennom korreksjoner.
  • Å glemme partner_id på fordrings- og gjeldslinjer. Dette gjør aldringsrapporter og avstemming upraktisk eller feilaktig.
  • Å overstyre kjernemetoder uten å kalle super(). Dette kan bryte viktige prosesser som avstemming, låsing eller tredjepartsmoduler.

Oppsummering


account.move.line er selve kjernen i Odoos regnskapsføring — her registreres alle debet- og kreditposter fra fakturaer, bilag og banklinjer. Kjennskap til felt og utvidelsesmuligheter gjør det mye enklere å konfigurere, tilpasse og integrere Odoo.

Enten du kartlegger regnskapsflyter som funksjonell konsulent eller bygger integrasjoner og rapporter som utvikler, vil god forståelse av account.move.line spare tid og redusere risiko for feil.

Trenger du hjelp med Odoo-implementasjonen din?


Dasolo bistår bedrifter med å implementere, tilpasse og optimalisere Odoo. Vi har spisskompetanse på API-integrasjoner og Odoo-utvikling, og mye erfaring med datamodeller som account.move.line.


Trenger du hjelp med implementasjon, skreddersydde moduler eller integrasjoner rundt Odoo? Vi kan hjelpe deg videre. Bestill en demo for å snakke om prosjektet ditt.

Modellen account.move.line: Forstå Odoo Journal Entry Lines
Dasolo 10. mars 2026
Share this post
Logg inn to leave a comment