diff --git a/packages/server/src/models/Bill.ts b/packages/server/src/models/Bill.ts index 2d6299ce7..c2e6eb3f4 100644 --- a/packages/server/src/models/Bill.ts +++ b/packages/server/src/models/Bill.ts @@ -136,7 +136,7 @@ export default class Bill extends mixin(TenantModel, [ return R.compose( R.add(adjustmentAmount), - R.subtract(this.discountAmount), + R.subtract(R.__, this.discountAmount), R.when(R.always(this.isInclusiveTax), R.add(this.taxAmountWithheld)) )(this.subtotal); } diff --git a/packages/server/src/models/SaleReceipt.ts b/packages/server/src/models/SaleReceipt.ts index 220bb4d83..7c60634f3 100644 --- a/packages/server/src/models/SaleReceipt.ts +++ b/packages/server/src/models/SaleReceipt.ts @@ -49,6 +49,9 @@ export default class SaleReceipt extends mixin(TenantModel, [ 'total', 'totalLocal', + 'adjustment', + 'adjustmentLocal', + 'discountAmount', 'discountPercentage', @@ -119,6 +122,14 @@ export default class SaleReceipt extends mixin(TenantModel, [ return this.total * this.exchangeRate; } + /** + * Adjustment amount in local currency. + * @returns {number} + */ + get adjustmentLocal() { + return this.adjustment * this.exchangeRate; + } + /** * Detarmine whether the sale receipt closed. * @return {boolean} diff --git a/packages/server/src/services/Purchases/VendorCredits/VendorCreditTransformer.ts b/packages/server/src/services/Purchases/VendorCredits/VendorCreditTransformer.ts index b42c90ea0..8cc36ba7f 100644 --- a/packages/server/src/services/Purchases/VendorCredits/VendorCreditTransformer.ts +++ b/packages/server/src/services/Purchases/VendorCredits/VendorCreditTransformer.ts @@ -20,6 +20,7 @@ export class VendorCreditTransformer extends Transformer { 'discountAmountFormatted', 'discountPercentageFormatted', 'adjustmentFormatted', + 'totalFormatted', 'entries', 'attachments', ]; @@ -118,6 +119,15 @@ export class VendorCreditTransformer extends Transformer { }); }; + /** + * Retrieves the formatted total. + * @param {IVendorCredit} credit + * @returns {string} + */ + protected totalFormatted = (credit) => { + return formatNumber(credit.total, { currencyCode: credit.currencyCode }); + }; + /** * Retrieves the entries of the bill. * @param {IVendorCredit} vendorCredit diff --git a/packages/webapp/src/containers/Drawers/BillDrawer/BillDetailTableFooter.tsx b/packages/webapp/src/containers/Drawers/BillDrawer/BillDetailTableFooter.tsx index 558d0f1ca..eb6846afb 100644 --- a/packages/webapp/src/containers/Drawers/BillDrawer/BillDetailTableFooter.tsx +++ b/packages/webapp/src/containers/Drawers/BillDrawer/BillDetailTableFooter.tsx @@ -42,7 +42,7 @@ export function BillDetailTableFooter() { textStyle={TotalLineTextStyle.Regular} /> )} - {bill.adjustment > 0 && ( + {bill.adjustment_formatted && ( )} - {creditNote.adjustment > 0 && ( + {creditNote.adjustment_formatted && ( )} - {receipt.adjustment > 0 && ( + {receipt.adjustment_formatted && ( } - value={vendorCredit.formatted_amount} + value={vendorCredit.total_formatted} borderStyle={TotalLineBorderStyle.DoubleDark} textStyle={TotalLineTextStyle.Bold} /> diff --git a/packages/webapp/src/containers/Drawers/VendorCreditDetailDrawer/VendorCreditDetailHeader.tsx b/packages/webapp/src/containers/Drawers/VendorCreditDetailDrawer/VendorCreditDetailHeader.tsx index 989b1b245..fac1f8494 100644 --- a/packages/webapp/src/containers/Drawers/VendorCreditDetailDrawer/VendorCreditDetailHeader.tsx +++ b/packages/webapp/src/containers/Drawers/VendorCreditDetailDrawer/VendorCreditDetailHeader.tsx @@ -5,7 +5,6 @@ import styled from 'styled-components'; import { defaultTo } from 'lodash'; import { - FormatDate, T, Row, Col, @@ -29,13 +28,14 @@ export default function VendorCreditDetailHeader() { - {vendorCredit.formatted_amount} + {vendorCredit.total_formatted} + diff --git a/packages/webapp/src/containers/Sales/Invoices/InvoiceForm/utils.tsx b/packages/webapp/src/containers/Sales/Invoices/InvoiceForm/utils.tsx index 530a70dd4..c069fd903 100644 --- a/packages/webapp/src/containers/Sales/Invoices/InvoiceForm/utils.tsx +++ b/packages/webapp/src/containers/Sales/Invoices/InvoiceForm/utils.tsx @@ -455,7 +455,7 @@ export const useInvoiceTotal = () => { return R.compose( R.when(R.always(isExclusiveTax), R.add(totalTaxAmount)), R.subtract(R.__, discountAmount), - R.add(R.__, adjustmentAmount), + R.add(adjustmentAmount), )(subtotal); };