Siirry sisältöön

account.move Malli: Odoo‑laskut ja päiväkirjamerkinnät selkokielellä

Täydellinen opas Odoon keskitettyyn kirjanpitomalliin kehittäjille ja konsultteihin
10. maaliskuuta 2026 kirjoittanut
account.move Malli: Odoo‑laskut ja päiväkirjamerkinnät selkokielellä
Dasolo
| Ei vielä kommentteja

Johdanto


Odoossa mallit määräävät, miten liiketoimintatiedot tallennetaan ja jäsennellään tietokantaan. Kaikki myyntitilaukset, laskut ja kirjanpitomerkinnät elävät mallien sisällä — mallit ovat se rakenne, jonka päälle koko sovellus rakentuu.


Mallien ymmärtäminen on olennaista sekä kehittäjille että toiminnallisille asiantuntijoille. Mallit kuvaavat kentät, suhteet ja niihin liittyvän liiketoimintalogiikan, eli ne muodostavat Odoon datan arkkitehtuurin ytimen.

Tässä artikkelissa keskitytään yhteen kirjanpidon keskeisistä malleista: account.move. Kun rakennat raportteja, yhdistät ulkoisia järjestelmiä tai määrittelet laskutuksen työnkulkuja, tulet lähes tulkoon koskettamaan tätä mallia.

Mikä on account.move -malli


account.move edustaa Odoossa kirjanpitomerkintöjä. Uudemmissa Odoo-versioissa se yhdistää aiemmin erillisinä olleet mallityypit — myyntilaskut, ostolaskut, hyvitykset ja manuaaliset päiväkirjamerkinnät ovat kaikki saman mallin alle.


Tätä mallia käyttää kirjanpitomoduuli, ja se toimii pääasiallisena entiteettinä, jonka rivit (account.move.line) pitävät kirjaa yksittäisistä debet- ja kredit-määristä. Jokainen lasku, tiliote tai kirjaus on yksi account.move -tietue, jolla on vähintään yksi rivitieto.


Mallin perusmäärittely löytyy account-moduulista, mutta muut moduulit laajentavat sitä Odoon perintämekanismeilla. Esimerkiksi myyntimoduuli lisää laskun luonnin myyntitilauksista ja hankintamoduuli ostolaskujen luomisen — ydintä ei kopioida, vaan laajennetaan.

Merkittävät kentät mallissa


Seuraavaksi käymme läpi tärkeimmät kentät account.move -mallissa. Niiden tunteminen helpottaa laskujen, ostojen ja kirjanpitomerkintöjen käsittelyä arjessa.


1. name

Tyyppi: Char. Kenttä pitää kirjaa kirjanpitomerkinnän nimestä tai numerosta, yleensä generoitu journalin sekvenssistä. Näkyy listauksissa ja tulosteissa.


2. move_type

Tyyppi: Selection. Määrittää merkinnän luonteen: entry (kirjallinen täsmäytys), out_invoice (asiakaslasku), out_refund (asiakashyvitys), in_invoice (ostolasku) tai in_refund (ostohyvitus). Tämä arvo ohjaa näkymiä ja työnkulkuja.


3. state

Tyyppi: Selection. Työnkulun tila: draft, posted tai cancel. Muokattavissa olevat merkinnät ovat luonnoksina, kirjatut merkinnät lukitaan ja vaikuttavat pääkirjaan, perutut merkit poistavat vaikutuksen.


4. date

Tyyppi: Date. Asiakirjan päivämäärä, jota käytetään raportoinnissa, eräpäivälaskennassa ja kausien sulkemisessa. Laskuissa tämä vastaa usein laskun päivää.


5. journal_id

Tyyppi: Many2one (account.journal). Viittaa siihen päiväkirjaan, johon merkintä kuuluu: myynti, ostot, pankki tai muu. Journal vaikuttaa sekvenssiin ja oletustileihin.


6. company_id

Tyyppi: Many2one (res.company). Moniyritys-ympäristössä kertoo, mille yhtiölle merkintä kuuluu. Vaikuttaa näkyvyyteen ja konsernitason käsittelyihin.


7. partner_id

Tyyppi: Many2one (res.partner). Asiakas tai toimittaja. Pakollinen laskuille ja ostolaskuille, ja sitä käytetään eräraporteissa, maksujen kohdistuksessa ja otsikoissa.


8. currency_id

Tyyppi: Many2one (res.currency). Merkinnän valuutta. Summat ovat tässä valuutassa; monivaluuttatilanteessa yrityksen päävaluutta tarvitaan raportointiin ja muunnoksiin.


9. amount_total

Tyyppi: Monetary. Merkinnän kokonaismäärä. Laskuissa vastaa maksettavaa summaa ja lasketaan rivien perusteella.


10. amount_residual

Tyyppi: Monetary. Maksamaton osuus. Maksetuissa laskuissa arvo on nolla. Käytetään ikääntymisessä ja maksujen hallinnassa.


11. payment_state

Tyyppi: Selection. Maksutila: not_paid, in_payment, paid, partial, reversed tai invoicing_legacy. Tämän perusteella hoidetaan muistutukset ja maksuraportit.


12. line_ids

Tyyppi: One2many (account.move.line). Kirjanpitorivit. Jokaisella rivillä on tili, debet ja kredit; rivien summien tulee tasapainottaa toisensa.


13. invoice_line_ids

Tyyppi: One2many (account.move.line). Laskun tuote- tai palvelorivit. Kun lasku kirjataan, nämä generoi yhden tai useamman kirjanpitorivin.


14. invoice_date

Tyyppi: Date. Laskun päiväys, jota käytetään verokausiin ja laskutukseen. Joissain määrityksissä voi poiketa varsinainen move-päivästä.


15. invoice_date_due

Tyyppi: Date. Maksun eräpäivä, joka lasketaan maksuehdoista tai asetetaan käsin. Käytetään ikääntymisraporteissa ja perinnässä.


16. ref

Tyyppi: Char. Ulkoinen viite esimerkiksi toimittajan laskunumero. Auttaa maksujen kohdistuksessa ja yhteen sovittamisessa ulkoisten dokumenttien kanssa.


17. invoice_origin

Tyyppi: Char. Lähdedokumentti, kuten myyntitilauksen numero. Mahdollistaa jäljitettävyyden tilauksesta laskuun.


18. create_date

Tyyppi: Datetime. Tietueen luontiaika, hallinnoitu automaattisesti Odoossa.


19. write_date

Tyyppi: Datetime. Viimeisin muokkausaika, myös automaattisesti ylläpidetty.


20. narration

Tyyppi: Text. Sisäiset muistiinpanot tai selitykset, jotka näkyvät päiväkirjamerkinnöissä mutta eivät yleensä asiakkaalle tulostettavassa laskussa.


21. fiscal_position_id

Tyyppi: Many2one (account.fiscal.position). Verokohteluvalinta, joka määrittää sovellettavat verosäännöt asiakkaan ja maan perusteella.


22. invoice_payment_term_id

Tyyppi: Many2one (account.payment.term). Maksuehdot (esim. 14 pv, netto 30). Käytetään eräpäivän laskentaan ja maksujakoon.


23. invoice_user_id

Tyyppi: Many2one (res.users). Laskusta vastuussa oleva myyjä tai käyttäjä, hyödyllinen komissioissa ja raporteissa.


24. reversed_entry_id

Tyyppi: Many2one (account.move). Linkki peruutettuun merkintään, joka säilyttää audit trailin korjauksissa.


25. to_check

Tyyppi: Boolean. Merkkilippu tarkastusta vaativille merkinnöille; hyödyllinen pankkitilien yhteen sovituksessa ja poikkeustilanteissa.


26. active

Tyyppi: Boolean. Pehmeäpoiston lippu; kun False, tieto arkistoidaan. Perutetut merkinnät usein asetetaan aktiivisuudeltaan pois.


27. sequence_number

Tyyppi: Integer. Journalin sekvenssin numero, jota käytetään järjestykseen ja näkymiin. Hallitaan sekvenssimixin kautta.


28. amount_untaxed

Tyyppi: Monetary. Välisumma ennen veroja; laskuissa rivien summien summa ennen veroja.


29. amount_tax

Tyyppi: Monetary. Kokonaisveron määrä, laskettuna rivikohtaisesti verosääntöjen mukaan.


30. invoice_source_email

Tyyppi: Char. Kun ostolasku luodaan sähköpostista, tässä säilytetään lähdeosoite. Hyödyllinen automaattisessa laskujen tuonnissa.

Miten tätä mallia käytetään liiketoimintaprosesseissa


1. Asiakaslaskutus

Kun myynti toimitetaan, Odoo generoi account.move -tietueen tyypillä out_invoice. Laskurivit tulevat myyntitilauksen riveiltä; kirjaaminen synnyttää kirjanpitorivit ja päivittää saatavat.


2. Ostolaskut

Hankintatilaukset voivat luoda ostolaskuja tai ne syötetään manuaalisesti. Ostolasku on account.move tyypillä in_invoice ja partnerina on toimittaja. Kirjaaminen päivittää maksutilit.


3. Maksujen kohdistus

Maksut kohdistetaan laskuihin amount_residual- ja payment_state-kenttien perusteella. Yhteen sovitus linkittää maksumerkinnät laskumerkintöihin ja nollaa residual-arvon, kun kaikki on maksatuttu.


4. Manuaaliset päiväkirjamerkinnät

Kirjanpitäjät luovat entry-tyypin merkintöjä oikaisuja, jaksotuksia tai korjauksia varten. He lisäävät rivit manuaalisesti tilien debet- ja kredit-kenttiin; ennen kirjaamista merkinnän tulee tasapainottaa.


5. Hyvitykset ja palautukset

Hyvitykset ovat out_refund- tai in_refund-tyyppisiä merkintöjä, jotka kumoavat alkuperäisen laskun tai ostolaskun vaikutuksen. reversed_entry_id linkittää takaisin alkuperäiseen merkintään auditoinnin vuoksi.

Miten kehittäjät laajentavat mallia


Kehittäjät laajentavat account.move -mallia muutamilla vakiokäytännöillä, joista Odoon perintä (model inheritance) on yleisin.


Malliperintä

Käytä _inherit = 'account.move' lisätäksesi kenttiä, ylikirjoittaaksesi metodeja tai lisätäksesi rajoitteita. Näin muutokset pysyvät erillisessä moduulissa, mikä helpottaa päivityksiä ja ylläpitoa.


Kenttien lisääminen

Lisää uusia kenttiä perityssä mallissa käyttäen oikeaa tyyppiä: Char, Many2one, Boolean, Integer, Text tai Selection. Moniyritysympäristössä mieti company-riippuvuutta, ja jos kenttä koskee vain laskuja, rajoita sen käyttö move_type-domaaneilla.


Python-laajennukset

Ylikirjoita create-, write-, _post- tai button_draft-metodeja lisälogiikkaa varten ja kutsu super() varmistaaksesi perustoiminnallisuuden. Huomioi laskettujen kenttien riippuvuudet ja käytä Odoon API-dekoraattoreita (@api.model, @api.depends) oikean ajoituksen varmistamiseksi.


Odoo Studio

Odoo Studion avulla voi lisätä kenttiä ilman koodausta — kätevää nopeisiin muutoksiin, kuten lisäviitteisiin. Monimutkaisempaan validointiin tai automatisointiin suositellaan kuitenkin omaa moduulia, joka pysyy ylläpidettävänä.


Huom: account.move on pysyvä tietokantamalli, ei abstrakti tai väliaikainen malli. Abstraktit mallit eivät luo tauluja, ja väliaikaiset mallit ovat tarkoitettu apuikkunoille; account.move säilyttää varsinainen kirjanpidollinen data.

Parhaat käytännöt


  • Raportteja tai integraatioita rakentaessa suodata aina move_type:n mukaan — eri tyypit vaativat erilaisia pakollisia kenttiä ja käyttäytymismalleja.
  • Käytä kuhunkin merkintään oikeaa päiväkirjaa. Väärä journal voi rikkoa numerosekvenssejä ja johtaa virheelliseen raportointiin.
  • Kun luot merkintöjä API:n kautta, varmista että line_ids tasapainottuvat (debet = kredit) ennen kirjaamista. Tasapainottamattomat merkinnät hylätään.
  • Ulkoisista järjestelmistä tulevia asiakirjoja kartoittaessa mappaa dokumenttityypit oikein move_type-arvoihin: out_invoice myynnille, in_invoice ostolle jne.
  • Käytä x_ -etuliitettä omille kentille välttääksesi ristiriitoja tulevien Odoo-päivitysten kanssa.

Yleisimmät virheet


  • Yksi yleisimmistä virheistä on yrittää kirjata merkintä, jonka rivit eivät tasapainotu — Odoo estää tällaiset postaukset. Tarkista aina debet- ja kredit-summat.
  • Älä muokkaa suoraan jo kirjattuja merkintöjä. Postatut merkinnät ovat lukittuja; tee tarvittaessa peruutus ja uusi korjausmerkintä.
  • Monetun unohtaminen asettaa partner_id-arvon asiakas- tai toimittajamäärityksissä voi rikkoa raportteja ja prosesseja — varmista että partner-tieto on paikoillaan.
  • Väärän move_type:n käyttö on yleistä: hyvitys ei ole sama kuin negatiivinen lasku. Käytä oikeaa tyyppiä hyvityksiin ja palautuksiin.
  • Ylikirjoita ydintoimintoja vain, jos kutsut super()-metodia. Muuten voit rikkoa muiden moduulien oletuksia ja vaikeuttaa päivityksiä.

Yhteenveto


account.move on kirjanpidon selkäranka Odoossa — se yhdistää laskut, ostot ja päiväkirjamerkinnät yhtenäiseksi malliksi. Mallin kenttien ja laajennusmahdollisuuksien tuntemus auttaa konfiguroinnissa, räätälöinnissä ja integraatioissa.


Olitpa toiminnallinen konsultti prosessien kartoittamisessa tai kehittäjä rakennustöissä, vahva ymmärrys account.move -mallista säästää aikaa ja estää virheitä.

Tarvitsetko apua Odoo-projektissasi?


Dasolo auttaa yrityksiä ottamaan Odoon käyttöön, räätälöimään ja optimoimaan järjestelmän. Erikoisosaamistamme ovat API-integraatiot ja Odoo-kehitys; tiimillämme on syvällinen kokemus Odoon datamallista ja keskeisistä malleista kuten account.move.

Jos tarvitset apua Odoo-implementaatiossa, räätälöidyissä moduuleissa tai integraatioissa, autamme mielellämme. Varaa demo keskustellaksesi projektistasi.

account.move Malli: Odoo‑laskut ja päiväkirjamerkinnät selkokielellä
Dasolo 10. maaliskuuta 2026
Jaa tämä kirjoitus
Kirjaudu sisään jättääksesi kommentin