Skip to content

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

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.