How to make a manual journal entry
What is it for?
A manual journal entry records in the accounts a transaction that does not originate from another Odoo document: a month-end estimate, a reclassification between accounts, an adjustment requested by the accountant. Each journal entry has at least two lines and the total debit must equal the total credit.
When to use it?
- To record an expense for a month that does not have an invoice yet, for example September's electricity estimated at the September closing.
- To move an amount from one account to another, when it was recorded on the wrong account and the original journal entry has already been reversed.
- For an adjustment indicated by the certified accountant, with the accounts they indicated.
- Do not use a manual journal entry for invoices, credit notes or receipts that the company issues: those documents have their own numbering and signature and are issued from their own menus. Nor for invoices you receive from suppliers: those are recorded in Supplier invoices, so that they go into deductible VAT and into what there is to pay.
- For adjustments to the cash and bank accounts (11 and 12), Odoo does not let you use a manual journal entry: see “Important notes”.
Where to find it?
Accounting › Record › Journal entries (in the Entries group). It opens the list of all journal entries, filtered by Posted.
Before you start
- Your profile is Accountant or Fiscal officer. The Billing profile does not have the Accounting Record menu.
- You know both accounts, the amount and the date. If you do not know which accounts to use, ask the certified accountant before posting.
- The date is in an open fiscal year. In the demonstration, 2025 is closed: a journal entry dated in 2025 cannot be posted (see “Common problems”).
- The date is not in the future. Odoo posts a journal entry with a future date without warning, and it goes straight into that month's trial balance: a month's estimate is posted on the last day of the month or later (in the example, the September estimate is dated 30/09/2026 and was posted on 29/10/2026, at the September closing).
How to use it
-
In the Journal entries list, click New. The journal entry opens in Draft, with the Journal Miscellaneous Operations and today's date.
-
In Date, type the date of the transaction, for example
30/09/2026. In Reference, write what happened, for exampleEletricidade de setembro por faturar. The reference is what appears in the list and in the journal. -
Leave SAF-T transaction type as it is, unless the certified accountant says otherwise. The field stays empty while you type and, when you save or post, it gets the journal's type: N — Normal in the Miscellaneous Operations journal. See “Important notes”.
-
In the Journal items tab, click Add a line. In Account, type the account number or name and pick it from the list, for example
6241 Eletricidade. Type the Description and the amount in Debit:150,00.While there is only one side, the red label Difference of €150.00 appears below the lines.
-
Click Add a line again and choose the other account, for example
2722 Credores por acréscimos de gastos. Odoo already proposes the missing amount on the opposite side (€150.00 in Credit); confirm it. -
Check that the label has changed to Balanced and that Total debits and Total credits are equal.
-
Click Post.
Expected result
- The journal entry becomes Posted and gets the journal's number, in the example
MISC/2026/00110, with SAF-T transaction type N — Normal. - The Balanced label stays in the header, next to the Trial balance of the month, Journal of the month and Ledger of the month buttons.
- The amount enters the trial balance, the ledger and the journal of the month of the journal entry's date. In the example, €150.00 debit on
6241 Eletricidadeand credit on2722 Credores por acréscimos de gastosin September 2026.
Demonstration video
No telemóvel, rode-o para a horizontal e veja o vídeo em ecrã inteiro: o texto do ecrã fica legível.
Transcrição
Important notes
- Cash and bank accounts: an Odoo limitation, not an accounting rule. The SNC allows adjustments, regularisations and reclassifications to be recorded on accounts 11 (cash) and 12 (current accounts). It is Odoo that does not show them on the lines of a manual journal entry (the list says “No records”): money coming in and going out, and adjustments to those accounts (a bank fee, a cash difference), are recorded from the statement line of that bank or cash journal (How to reconcile bank transactions, Direct entry), or in Record › Quick entry (“I paid an expense”, “I received money from a customer”, “I moved money between my accounts”…). That way account 12 always matches the statement.
- SAF-T transaction type. This is the type with which the journal entry appears in the accounting SAF-T. The options are N — Normal, R — Adjustment of the taxation period, A — Determination of results and J — Adjustment entry. Odoo never infers it from the content: it comes from the journal (N in the everyday journals; A and J in the closing and adjustment journals) and is changed by hand before posting; once posted it no longer changes. When you choose J or A in Miscellaneous Operations, the warning “… Only use it in another journal if you are sure this journal entry is one of them; otherwise, keep "N — Normal".” appears. A journal entry with A that uses accounts outside classes 6, 7 and 81 cannot be posted. Pending validation by a certified accountant: in which manual adjustments you choose R (adjustment of the taxation period) or J instead of N.
- Once posted, correct with a reversal. The reversed journal entry and the reversal are linked, with the reason written down: see How to reverse a journal entry.
- Month-end estimates. The estimate in the example (September) is reversed on the first day of the following month, 01/10/2026, and the real invoice is recorded when it arrives. It is the example in the reversal article.
Common problems
Posting is refused: “The entry is not balanced”
- Symptom: Invalid Operation window with “The entry is not balanced, so it cannot be confirmed: … Debit €150.00 ≠ Credit €0.00 — difference €150.00. Fix a line (an amount, or add the missing line) so that the total debit equals the total credit. The difference is not rounded away: even one cent blocks the entry.”
- Cause: the total debit differs from the total credit, even if only by one cent.
- What to do: close the window, correct the amount of the wrong line or add the missing line, and check the Balanced label before posting.
The cash or bank account does not appear: “No records”
- Cause: Odoo does not show the cash and bank accounts on the lines of a manual journal entry. It is a limitation of the software, not an accounting rule.
- What to do: record the movement, or the adjustment to that account, from the bank or cash statement line, or in Record › Quick entry. If the adjustment fits neither, talk to the certified accountant before using another account.
Posting is refused: “The fiscal year … is closed”
- Symptom: when you type an old date, two warnings appear at the top of the journal entry: “The date is being set prior to: General lock date (31/12/2025). The Journal Entry will be accounted on 29/10/2026 upon posting.” and “302 days since the end of the month this entry refers to…”. When you click Post, the Invalid Operation window says: “The fiscal year 2025 (01/01/2025 to 31/12/2025) is closed: you cannot create the journal entry … dated 15/12/2025. Why: a closed fiscal year is locked so that accounts already approved do not change. How to fix it: record it in an open fiscal year or, if it really is necessary, ask Fiscal administration for an exception with a reason…”
- Cause: the date is in a closed fiscal year. Despite the first warning, the journal entry does not move to today's date: it stays in Draft.
- What to do: type a date in the open fiscal year. If the journal entry really has to be in the closed fiscal year, the decision belongs to the certified accountant. The “Fiscal administration” in the message is a fiscaldoo user profile (the internal profile that manages closed fiscal years), not the Tax and Customs Authority (AT): ask for the exception from whoever in the company has that profile.