diff --git a/client/src/components/invoice-form/invoice-form.component.jsx b/client/src/components/invoice-form/invoice-form.component.jsx
index d9cd4cb3e..041d385df 100644
--- a/client/src/components/invoice-form/invoice-form.component.jsx
+++ b/client/src/components/invoice-form/invoice-form.component.jsx
@@ -172,15 +172,21 @@ export default function InvoiceFormComponent({
{() => {
- const totals = CalculateInvoiceTotal(
- form.getFieldsValue([
- "invoicelines",
- "total",
- "federal_tax_rate",
- "state_tax_rate",
- "local_tax_rate",
- ])
- );
+ const values = form.getFieldsValue([
+ "invoicelines",
+ "total",
+ "federal_tax_rate",
+ "state_tax_rate",
+ "local_tax_rate",
+ ]);
+ let totals;
+ console.log("values", values);
+ if (
+ !!values.total &&
+ !!values.invoicelines &&
+ values.invoicelines.length > 0
+ )
+ totals = CalculateInvoiceTotal(values);
if (!!totals)
return (
diff --git a/client/src/components/invoice-form/invoice-form.totals.utility.js b/client/src/components/invoice-form/invoice-form.totals.utility.js
index b8f74e623..15c6d1091 100644
--- a/client/src/components/invoice-form/invoice-form.totals.utility.js
+++ b/client/src/components/invoice-form/invoice-form.totals.utility.js
@@ -3,13 +3,13 @@ import Dinero from "dinero.js";
export const CalculateInvoiceTotal = (invoice) => {
const {
total,
+
invoicelines,
federal_tax_rate,
local_tax_rate,
state_tax_rate,
} = invoice;
//TODO Determine why this recalculates so many times.
- console.log("Calculating invoice total...");
let subtotal = Dinero({ amount: 0 });
let federalTax = Dinero({ amount: 0 });
let stateTax = Dinero({ amount: 0 });
@@ -33,7 +33,7 @@ export const CalculateInvoiceTotal = (invoice) => {
}
});
- const invoiceTotal = Dinero({ amount: total * 100 || 0 });
+ const invoiceTotal = Dinero({ amount: (parseFloat(total) || 0) * 100 });
const enteredTotal = subtotal.add(federalTax).add(stateTax).add(localTax);
const discrepancy = enteredTotal.subtract(invoiceTotal);