OdooWiki OCA HUB

Donation Sale

donation_sale folder_open OCA/donation open_in_new
Accounting & Finance License: AGPL-3

To understand the difference between the modules donation and donation_sale, read this post.

auto_awesome What this module does

AI-generated from the code · Odoo 14.0

Lets you record donations directly on sale orders and invoices, and automatically issues tax receipts to donors, either one per donation or one annual receipt per donor.

This module connects sales and invoicing with donation tax receipts. On a sale order you get a new "Tax Receipt Option" field (None, For Each Donation, Annual Tax Receipt) and an "Eligible Tax Receipt Sub-total" that sums only the lines whose product is flagged as donation-eligible. The option is filled automatically from the customer's own tax receipt setting when you pick the customer.

  • Donation products must not carry taxes: a check blocks any sale order line or invoice line that mixes a donation product with a tax.
  • When the sale order is invoiced, the tax receipt option is carried over to the invoice.
  • Invoices show a "Tax Receipt" section with the option, the eligible sub-total and the linked receipt; the invoice list can display and group by these fields.
  • A scheduled job (disabled by default) generates one tax receipt per paid invoice marked "For Each Donation".
  • Annual receipts are created from posted invoices marked "Annual Tax Receipt" over a date range, and the receipt form lists the related invoices.
  • Once an invoice is linked to a tax receipt, it can no longer be cancelled or deleted.

Menus for tax receipts and annual receipt creation are added under Accounting, and the customer's annual option cannot be changed to another value.

Depends on

donation_basesale_management

Menus it adds

donation_tax_receipt_menutax_receipt_annual_create_menu
Models and fields (5)
  • sale.order · extends an existing modeltax_receipt_total (Eligible Tax Receipt Sub-total), tax_receipt_option (Tax Receipt Option), company_currency_id (Company Currency)
  • account.move · extends an existing modeltax_receipt_id (Tax Receipt), tax_receipt_total (Eligible Tax Receipt Sub-total), tax_receipt_option (Tax Receipt Option)
  • sale.order.line · extends an existing modeltax_receipt_ok
  • account.move.line · extends an existing modeltax_receipt_ok
  • donation.tax.receipt · extends an existing modelinvoice_ids (Related Invoices)

Text generated by AI (DeepSeek) from reading the Odoo 14.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 1 confirmed, 8 with no information of 9 versions.

terminal Installation and usage

No verified information

Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.