E-Invoice Discount Documentation¶
Overview¶
The E-Invoice Discount model (account.einvoice.discount) stores document-level discount information for e-invoices. Each record represents a discount entry that applies to the overall invoice rather than individual line items.
Model Information¶
Model Name: account.einvoice.discount
Display Name: E-Invoice Discount
Key Fields: None (no unique constraint defined)
Features¶
- ❌ Audit logging enabled (
_audit_log) - ❌ Multi-company support (
company_id) - ❌ Full-text content search (
_content_search) - ✅ Cascade delete with invoice
Key Fields Reference¶
All Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
invoice_id |
Many2One | ✅ | Parent invoice (cascade delete) |
number |
Integer | ❌ | Discount line number |
amount |
Decimal | ❌ | Discount amount |
rate |
Decimal | ❌ | Discount rate percentage |
description |
Text | ❌ | Discount description/reason |
Related Models¶
| Model | Relationship | Description |
|---|---|---|
account.invoice |
Many2One (invoice_id) | Parent invoice |
Common Use Cases¶
Use Case 1: Add Document Discount¶
# Add document-level discount to invoice
discount_id = get_model("account.einvoice.discount").create({
"invoice_id": invoice_id,
"number": 1,
"rate": 10.0,
"amount": 500.00,
"description": "Volume discount",
})
Use Case 2: Get Invoice Discounts¶
# Get all discounts for an invoice
discounts = get_model("account.einvoice.discount").search_browse([
["invoice_id", "=", invoice_id]
])
total_discount = sum(d.amount or 0 for d in discounts)
print(f"Total discounts: {total_discount}")
Version History¶
Last Updated: December 2024 Model Version: account_einvoice_discount.py Framework: Netforce
This documentation is generated for developer onboarding and reference purposes.