Database Reference
Product Fee separates reusable fee types from their product and website assignments. Tax treatment can be defined by the fee type and overridden for a specific assignment.
| Relationship | Why it matters |
|---|---|
productfee_type can use one tax_class |
Provides the default tax treatment for that reusable fee type. |
productfee_product_fee assigns one fee type to one catalog_product_entity |
Determines which product receives the fee. |
productfee_product_fee belongs to one store_website |
Allows the amount and applicability to differ between websites. |
productfee_product_fee belongs to one productfee_type |
Reuses the fee's identity and default behavior across products. |
productfee_product_fee can use one tax_class |
Supports assignment-specific tax treatment where required. |
Snapshot columns
Fee results are snapshotted onto Magento item tables — quote_item, sales_order_item, sales_invoice_item and sales_creditmemo_item each carry productfee_amount, base_productfee_amount, productfee_tax_amount, base_productfee_tax_amount plus productfee_applied_json and productfee_tax_json snapshots. This keeps historical orders, invoices and refunds accurate even when fee types change later.
Use the fee type and product assignment forms for changes so totals, tax and sales-document behavior remain consistent.