feat: add discount functionality to sales and purchase transactions

- Introduced discount_type and discount fields in Bills and SalesReceipts controllers.
- Updated database migrations to include discount and discount_type in estimates and credit notes tables.
- Enhanced SaleReceipt and SaleEstimate models to support discount attributes.
- Implemented formatting for discount amounts in transformers and PDF templates.
- Updated email templates to display discount information.

This commit enhances the handling of discounts across various transaction types, improving the overall functionality and user experience.
This commit is contained in:
Ahmed Bouhuolia
2024-11-30 14:46:43 +02:00
parent 17b3bbe1d8
commit dd1392cdc8
21 changed files with 196 additions and 35 deletions

View File

@@ -254,18 +254,27 @@ export interface EstimatePdfBrandingAttributes {
companyAddress: string;
billedToLabel: string;
// # Total
total: string;
totalLabel: string;
showTotal: boolean;
// # Discount
discount: string;
showDiscount: boolean;
discountLabel: string;
// # Subtotal
subtotal: string;
subtotalLabel: string;
showSubtotal: boolean;
// # Customer Note
showCustomerNote: boolean;
customerNote: string;
customerNoteLabel: string;
// # Terms & Conditions
showTermsConditions: boolean;
termsConditions: string;
termsConditionsLabel: string;

View File

@@ -20,6 +20,10 @@ export const transformEstimateToPdfTemplate = (
customerNote: estimate.note,
termsConditions: estimate.termsConditions,
customerAddress: contactAddressTextFormat(estimate.customer),
discount: estimate.discountAmountFormatted,
discountLabel: estimate.discountPercentageFormatted
? `Discount [${estimate.discountPercentageFormatted}]`
: 'Discount',
};
};