How to Use Storno Accounting to Reverse Journal Entries in Odoo 18: Complete Guide
By Braincuber Team
Published on February 28, 2026
A $3.1M supplement brand we audited had 23 "correcting entries" in their GL that made their books unreadable. Every time someone posted a wrong invoice amount, they created a new journal entry to offset it. The accountant couldn't trace which entries cancelled which. The P&L was inflated by $14,700 worth of ghost transactions. Storno Accounting fixes this by reversing the original entry with negative values—so there's a 1:1 audit trail between the mistake and its correction. No extra entries cluttering your books. This beginner guide walks you through the complete tutorial.
What You'll Learn:
- How Storno Accounting differs from standard correcting entries
- Enabling Storno Accounting in Odoo 18 Settings
- Reversing an incorrect invoice using the Credit Note method
- Reviewing negative journal entries created by Storno reversals
- Re-posting the correct invoice after a Storno reversal
- Verifying journal items for clean audit trails
Why Standard Correcting Entries Wreck Your Books
Standard accounting corrections create a separate offsetting entry. You posted $160 instead of $100? Create another entry for $60 on the opposite side. Problem: now you have three entries for what should be one transaction. Multiply that by 37 corrections per quarter, and your general ledger becomes an archaeological dig. Storno reverses the original entry with negative amounts—one entry undoes the other, and both are linked.
Clean Audit Trail
Every Storno reversal creates a mirror entry with negative values, directly linked to the original. Auditors see exactly which entry was wrong and how it was corrected—without digging through 15 offsetting entries.
No P&L Inflation
Standard corrections add both debit and credit entries that inflate account totals. Storno uses negatives, so the reversed amount subtracts cleanly from the original account. Your revenue and expense totals stay accurate.
Faster Month-End Close
Fewer entries to reconcile = faster close. We've seen teams cut their month-end review from 3.5 days to 2 days after switching to Storno because correcting entries no longer need manual cross-referencing.
Compliance-Friendly
Many European and Middle Eastern jurisdictions require Storno-style reversals for audit compliance. If you sell into the EU or UAE, this isn't optional—it's how your books need to work. *(Your US-based accountant might not know this.)*
Enable and Use Storno Accounting
Storno is a one-toggle feature in Odoo 18's Accounting settings. Once enabled, every journal entry reversal uses negative amounts instead of creating separate correcting entries. But you need to understand the flow: post the wrong entry, reverse it via Credit Note, then post the correct entry.
Enable Storno Accounting
Navigate to Accounting > Configuration > Settings. Find the Storno Accounting option and activate it. Click Save. Once enabled, all journal entry reversals will use the Storno method (negative amounts) instead of standard offsetting entries.
Create and Post the Incorrect Invoice
Go to Accounting > Customers > Invoices and click New. Create an invoice with the wrong amount (e.g., $160 when the correct amount should be $100). Add the product lines, save, and click Confirm to post the invoice. The journal entry is now recorded in your books with the $160 amount.
Review the Original Journal Items
Open the posted invoice and click the Journal Items tab. You'll see the debit and credit entries for the $160 amount. You can also review these from Accounting > Journal Items in the list view. Note the entry number (e.g., INV/2025/00071)—you'll need it to verify the reversal later.
Initiate the Storno Reversal
On the posted invoice, click the Credit Note button. A reversal wizard opens. Fill in the Reason (e.g., "Wrong product price"), set the Date, and select the Journal. Click Reverse. Because Storno is enabled, this creates a mirror journal entry with negative amounts instead of a standard offsetting entry.
Post the Reversal Invoice
After clicking Reverse, Odoo creates a new draft reversal invoice (titled something like "RINV/2025/00007 - Reversal of: INV/2025/00071, Wrong Product price"). Click Confirm to post it. The system generates journal items with negative values that directly cancel the original $160 entry.
Standard Reversal = Creates NEW entry with swapped debit/credit
Original: Debit $160 (Receivable) | Credit $160 (Revenue)
Reversal: Debit $160 (Revenue) | Credit $160 (Receivable)
Result: Revenue shows $320 total movement (inflated)
Storno Reversal = Creates NEGATIVE entry on SAME accounts
Original: Debit $160 (Receivable) | Credit $160 (Revenue)
Reversal: Debit -$160 (Receivable) | Credit -$160 (Revenue)
Result: Revenue shows $0 net movement (accurate)
Verify the Negative Journal Entries
Open the reversal invoice and check the Journal Items tab. You should see negative debit and credit amounts (e.g., -$160) on the same accounts as the original entry. This confirms Storno is working correctly. Both the original and reversal entries should be visible side by side in the Journal Items list view.
Create the Correct Invoice
Now create a new invoice with the correct amount ($100). Add the proper product lines, save, and confirm. This new invoice stands as the accurate record. Your books now show: original ($160), Storno reversal (-$160), and correct entry ($100)—a clean, traceable three-step correction.
Storno Only Works After You Enable It
If you reverse a journal entry before enabling Storno in Settings, Odoo uses the standard reversal method (swapped debits and credits). The setting doesn't retroactively change existing reversals. Enable Storno first, then start reversing entries. Otherwise you'll have a mix of reversal styles in your GL—and your auditor will have questions.
When to Use Storno vs. Standard Reversals
Not every correction needs Storno. Simple reclassifications (moving an expense from one account to another) are fine with standard entries. But for actual amount errors—wrong price, wrong quantity, wrong customer—Storno keeps your audit trail clean.
| Scenario | Use Storno? | Why |
|---|---|---|
| Wrong invoice amount ($160 instead of $100) | Yes | Negative reversal cancels the original cleanly without inflating account totals |
| Wrong customer on invoice | Yes | Full reversal needed, then re-issue to correct customer |
| Expense reclassification (wrong account code) | No | Standard journal entry to move between accounts is simpler |
| Duplicate invoice posted | Yes | Storno reversal eliminates the duplicate without adding extra entries |
| Vendor bill correction | Yes | Same process via Credit Note on vendor bills, negative amounts applied |
Reconcile Original and Reversal
After posting the reversal, Odoo automatically reconciles the original invoice with the credit note. Check the original invoice—it should show as Reversed or Paid (reconciled with the credit note). The receivable balance for this customer should reflect only the new correct invoice amount ($100), not the old $160.
Review the General Ledger Impact
Go to Accounting > Reporting > General Ledger. Filter by the revenue account used in the invoice. With Storno, you'll see: +$160 (original), -$160 (Storno reversal), +$100 (corrected invoice). Net result: $100 in revenue. With standard reversals, you'd see +$160 debit, +$160 credit reversal, and +$100—totaling $420 in gross account movement instead of $260.
Confirm the Audit Trail
Open the original invoice. At the bottom, you'll see a reference to the reversal (e.g., "Reversal of: INV/2025/00071"). Open the reversal and it references the original. This two-way link is the audit trail. Both the original and reversal remain in the system permanently—nothing is deleted, just neutralized with negative amounts.
STORNO REVERSAL STEPS:
1. Enable Storno: Accounting > Settings > Storno Accounting
2. Identify the incorrect posted entry
3. Open the invoice/bill > Click Credit Note
4. Fill in Reason, Date, Journal
5. Click Reverse
6. Post the reversal invoice (confirm the draft)
7. Verify negative journal items in Journal Items tab
8. Create the new correct invoice
9. Post and confirm the correct invoice
10. Check General Ledger for clean net amounts
Frequently Asked Questions
How do I enable Storno Accounting in Odoo 18?
Go to Accounting > Configuration > Settings, find the Storno Accounting option, enable it, and save. All future journal entry reversals will use negative amounts instead of standard offsetting entries.
What is the difference between Storno and standard reversal in Odoo?
Standard reversal swaps debit and credit on different sides. Storno reversal creates negative entries on the same accounts, keeping account totals accurate without inflating gross movements.
Can I use Storno Accounting for vendor bill corrections?
Yes. The same Credit Note process works for vendor bills. Open the bill, click Credit Note, fill in the reason and date, and reverse. The Storno entry creates negative amounts on the same accounts.
Does enabling Storno affect existing journal entries?
No. Enabling Storno only affects future reversals. Existing entries and reversals made before enabling the setting remain unchanged with their original reversal method.
Is Storno Accounting required for compliance in certain countries?
Yes. Several European and Middle Eastern jurisdictions require Storno-style reversals for audit compliance. If your business operates in the EU or UAE, enabling Storno ensures your books meet regulatory requirements.
Need Help with Odoo 18 Accounting Configuration?
Our team can enable Storno, clean up your existing reversal mess, configure proper journal entry workflows, and get your audit trail in shape—before your next external audit.
