Skip to content

Commit 14ae978

Browse files
authored
Merge pull request #762 from bigcapitalhq/fix-discount-adjustment-bugs
fix: discount & adjustment sale transactions bugs
2 parents 391dc77 + beec097 commit 14ae978

File tree

10 files changed

+35
-19
lines changed

10 files changed

+35
-19
lines changed

packages/server/src/services/Sales/Estimates/utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export const transformEstimateToPdfTemplate = (
1515
quantity: entry.quantityFormatted,
1616
total: entry.totalFormatted,
1717
})),
18-
total: estimate.formattedSubtotal,
18+
total: estimate.totalFormatted,
1919
subtotal: estimate.formattedSubtotal,
2020
adjustment: estimate.adjustmentFormatted,
2121
customerNote: estimate.note,

packages/server/src/services/Sales/Receipts/GetSaleReceiptMailStateTransformer.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -82,21 +82,21 @@ export class GetSaleReceiptMailStateTransformer extends SaleReceiptTransformer {
8282
};
8383

8484
/**
85-
*
85+
* Retrieves the total amount.
8686
* @param receipt
8787
* @returns
8888
*/
8989
protected total = (receipt) => {
90-
return receipt.amount;
90+
return receipt.total;
9191
};
9292

9393
/**
94-
*
94+
* Retrieves the formatted total amount.
9595
* @param receipt
96-
* @returns
96+
* @returns {string}
9797
*/
9898
protected totalFormatted = (receipt) => {
99-
return this.formatMoney(receipt.amount, {
99+
return this.formatMoney(receipt.total, {
100100
currencyCode: receipt.currencyCode,
101101
});
102102
};
@@ -118,7 +118,7 @@ export class GetSaleReceiptMailStateTransformer extends SaleReceiptTransformer {
118118
* @returns
119119
*/
120120
protected subtotal = (receipt) => {
121-
return receipt.amount;
121+
return receipt.subtotal;
122122
};
123123

124124
/**
@@ -127,7 +127,7 @@ export class GetSaleReceiptMailStateTransformer extends SaleReceiptTransformer {
127127
* @returns
128128
*/
129129
protected subtotalFormatted = (receipt) => {
130-
return this.formatMoney(receipt.amount, {
130+
return this.formatMoney(receipt.subtotal, {
131131
currencyCode: receipt.currencyCode,
132132
});
133133
};

packages/server/src/utils/index.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,10 @@ export const formatSmsMessage = (message: string, args) => {
413413
const variable = `{${key}}`;
414414
const value = _.defaultTo(args[key], '');
415415

416-
formattedMessage = formattedMessage.replace(variable, value);
416+
formattedMessage = formattedMessage.replace(
417+
new RegExp(variable, 'g'),
418+
value
419+
);
417420
});
418421
return formattedMessage;
419422
};

packages/webapp/src/containers/Sales/Estimates/EstimateSendMailDrawer/withEstimateMailReceiptPreviewProps.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export const withEstimateMailReceiptPreviewProps = <
3636
estimateNumber: estimateMailState?.estimateNumber,
3737
estimateDate: estimateMailState?.estimateDateFormatted,
3838
subtotal: estimateMailState?.subtotalFormatted,
39-
discount: estimateMailState?.discountFormatted,
39+
discount: estimateMailState?.discountAmountFormatted,
4040
adjustment: estimateMailState?.adjustmentFormatted,
4141
items,
4242
message,

packages/webapp/src/containers/Sales/Invoices/InvoiceSendMailDrawer/_hooks.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ export const formatSmsMessage = (
6767
const variable = `{${key}}`;
6868
const value = defaultTo(args[key], '');
6969

70-
formattedMessage = formattedMessage.replace(variable, value);
70+
formattedMessage = formattedMessage.replaceAll(variable, value);
7171
});
7272
return formattedMessage;
7373
};

packages/webapp/src/hooks/query/estimates.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -284,8 +284,8 @@ export interface SaleEstimateMailStateResponse {
284284
subtotal: number;
285285
subtotalFormatted: string;
286286

287-
discount: number;
288-
discountFormatted: string;
287+
discountAmount: number;
288+
discountAmountFormatted: string;
289289
discountLabel: string;
290290
discountPercentage: number | null;
291291
discountPercentageFormatted: string;

shared/pdf-templates/src/components/EstimatePaperTemplate.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
PaperTemplateProps,
1717
PaperTemplateTotalBorder,
1818
} from './PaperTemplate';
19+
import { theme } from '../constants';
1920

2021
export interface EstimatePaperTemplateProps extends PaperTemplateProps {
2122
// # Company
@@ -173,6 +174,7 @@ export function EstimatePaperTemplate({
173174
lineRateLabel = 'Rate',
174175
lineTotalLabel = 'Total',
175176
}: EstimatePaperTemplateProps) {
177+
176178
return (
177179
<PaperTemplate primaryColor={primaryColor} secondaryColor={secondaryColor}>
178180
<Stack spacing={24}>
@@ -228,13 +230,13 @@ export function EstimatePaperTemplate({
228230
<Text>{data.item}</Text>
229231
<Text
230232
fontSize={'12px'}
231-
// className={Classes.TEXT_MUTED}
232-
// style={{ fontSize: 12 }}
233+
color={theme.colors['cool-gray-500']}
233234
>
234235
{data.description}
235236
</Text>
236237
</Stack>
237238
),
239+
thStyle: { width: '60%' },
238240
},
239241
{ label: lineQuantityLabel, accessor: 'quantity' },
240242
{ label: lineRateLabel, accessor: 'rate', align: 'right' },

shared/pdf-templates/src/components/InvoicePaperTemplate.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,23 +118,27 @@ export interface InvoicePaperTemplateProps extends PaperTemplateProps {
118118
}
119119

120120
export function InvoicePaperTemplate({
121+
// # Colors
121122
primaryColor,
122123
secondaryColor,
123124

125+
// # Company.
124126
companyName = 'Bigcapital Technology, Inc.',
125127

126128
showCompanyLogo = true,
127129
companyLogoUri = '',
128130

131+
// # Due date
129132
dueDate = 'September 3, 2024',
130133
dueDateLabel = 'Date due',
131134
showDueDate = true,
132135

136+
// # Issue date.
133137
dateIssue = 'September 3, 2024',
134138
dateIssueLabel = 'Date of issue',
135139
showDateIssue = true,
136140

137-
// dateIssue,
141+
// Invoice #,
138142
invoiceNumberLabel = 'Invoice number',
139143
invoiceNumber = '346D3D40-0001',
140144
showInvoiceNumber = true,
@@ -197,6 +201,7 @@ export function InvoicePaperTemplate({
197201
{ label: 'Sample Tax2 (7.00%)', amount: '21.74' },
198202
],
199203

204+
// # Statement
200205
statementLabel = 'Statement',
201206
showStatement = true,
202207
statement = DefaultPdfTemplateStatement,

shared/pdf-templates/src/components/ReceiptPaperTemplate.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
DefaultPdfTemplateAddressBilledTo,
1717
DefaultPdfTemplateAddressBilledFrom,
1818
} from './_constants';
19+
import { theme } from '../constants';
1920

2021
export interface ReceiptPaperTemplateProps extends PaperTemplateProps {
2122
// # Company logo
@@ -216,8 +217,7 @@ export function ReceiptPaperTemplate({
216217
<Text>{data.item}</Text>
217218
<Text
218219
fontSize={'12px'}
219-
// className={Classes.TEXT_MUTED}
220-
// style={{ fontSize: 12 }}
220+
color={theme.colors['cool-gray-500']}
221221
>
222222
{data.description}
223223
</Text>
@@ -255,7 +255,7 @@ export function ReceiptPaperTemplate({
255255
<PaperTemplate.TotalLine
256256
label={totalLabel}
257257
amount={total}
258-
border={PaperTemplateTotalBorder.Gray}
258+
border={PaperTemplateTotalBorder.Dark}
259259
style={{ fontWeight: 500 }}
260260
/>
261261
)}

shared/pdf-templates/src/constants.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
1+
import { defaultTheme } from "@xstyled/system";
2+
13
export const OpenSansFontLink = `
24
<link rel="preconnect" href="https://fonts.googleapis.com">
35
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
46
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap" rel="stylesheet">
57
`;
8+
9+
export const theme = {
10+
...defaultTheme,
11+
}

0 commit comments

Comments
 (0)