@@ -1,4 +1,4 @@
|
||||
<babeledit_project be_version="2.7.1" version="1.2">
|
||||
<babeledit_project version="1.2" be_version="2.7.1">
|
||||
<!--
|
||||
|
||||
BabelEdit project file
|
||||
@@ -15331,6 +15331,27 @@
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>prt_dsmk_p</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
<description></description>
|
||||
<comment></comment>
|
||||
<default_text></default_text>
|
||||
<translations>
|
||||
<translation>
|
||||
<language>en-US</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>es-MX</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>fr-CA</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>status</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
@@ -18647,6 +18668,27 @@
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>pac</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
<description></description>
|
||||
<comment></comment>
|
||||
<default_text></default_text>
|
||||
<translations>
|
||||
<translation>
|
||||
<language>en-US</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>es-MX</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>fr-CA</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>pae</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
@@ -31201,6 +31243,27 @@
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>gsr_by_ins_co</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
<description></description>
|
||||
<comment></comment>
|
||||
<default_text></default_text>
|
||||
<translations>
|
||||
<translation>
|
||||
<language>en-US</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>es-MX</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>fr-CA</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>gsr_by_make</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
@@ -31264,27 +31327,6 @@
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>gsr_by_ins_co</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
<description></description>
|
||||
<comment></comment>
|
||||
<default_text></default_text>
|
||||
<translations>
|
||||
<translation>
|
||||
<language>en-US</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>es-MX</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>fr-CA</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>gsr_labor_only</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
|
||||
@@ -160,10 +160,12 @@ export function JobLinesComponent({
|
||||
render: (text, record) => (
|
||||
<>
|
||||
<CurrencyFormatter>{record.act_price}</CurrencyFormatter>
|
||||
{record.prt_dsmk_p !== 0 && (
|
||||
{record.prt_dsmk_p && record.prt_dsmk_p !== 0 ? (
|
||||
<span
|
||||
style={{ marginLeft: ".2rem" }}
|
||||
>{`(${record.prt_dsmk_p}%)`}</span>
|
||||
) : (
|
||||
<></>
|
||||
)}
|
||||
</>
|
||||
),
|
||||
|
||||
@@ -210,6 +210,13 @@ export default function JobLinesUpsertModalComponent({
|
||||
>
|
||||
<InputCurrency precision={2} min={0} />
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
label={t("joblines.fields.prt_dsmk_p")}
|
||||
name="prt_dsmk_p"
|
||||
initialValue={0}
|
||||
>
|
||||
<InputNumber precision={0} min={0} max={100} />
|
||||
</Form.Item>
|
||||
</LayoutFormRow>
|
||||
</Form>
|
||||
</Modal>
|
||||
|
||||
@@ -36,8 +36,11 @@ export function JobsDetailRates({ jobRO, form, job }) {
|
||||
<CurrencyInput
|
||||
disabled={jobRO}
|
||||
max={
|
||||
((job.job_totals && job.job_totals.totals.federal_tax.amount) ||
|
||||
0) / 100
|
||||
Math.round(
|
||||
(job.job_totals &&
|
||||
job.job_totals.totals.federal_tax.amount) ||
|
||||
0
|
||||
) / 100
|
||||
}
|
||||
/>
|
||||
</Form.Item>
|
||||
|
||||
@@ -967,6 +967,7 @@
|
||||
},
|
||||
"profitcenter_labor": "Profit Center: Labor",
|
||||
"profitcenter_part": "Profit Center: Part",
|
||||
"prt_dsmk_p": "Line Markup %",
|
||||
"status": "Status",
|
||||
"total": "Total",
|
||||
"unq_seq": "Seq #"
|
||||
@@ -1139,6 +1140,7 @@
|
||||
"ownr_ea": "Email",
|
||||
"ownr_ph1": "Phone 1",
|
||||
"paa": "Aftermarket",
|
||||
"pac": "Rechromed",
|
||||
"pae": "Existing",
|
||||
"pag": "Glass",
|
||||
"pal": "LKQ",
|
||||
@@ -1876,10 +1878,10 @@
|
||||
"gsr_by_delivery_date": "Gross Sales by Delivery Date",
|
||||
"gsr_by_estimator": "Gross Sales by Estimator",
|
||||
"gsr_by_exported_date": "Gross Sales by Export Date",
|
||||
"gsr_by_ins_co": "Gross Sales by Insurance Company'",
|
||||
"gsr_by_make": "Gross Sales by Vehicle Make",
|
||||
"gsr_by_referral": "Gross Sales by Referral Source",
|
||||
"gsr_by_ro": "Gross Sales by RO",
|
||||
"gsr_by_ins_co": "Gross Sales by Insurance Company'",
|
||||
"gsr_labor_only": "Gross Sales - Labor Only",
|
||||
"hours_sold_detail_closed": "Hours Sold Detail - Closed",
|
||||
"hours_sold_detail_closed_ins_co": "Hours Sold Detail - Closed by Source",
|
||||
|
||||
@@ -967,6 +967,7 @@
|
||||
},
|
||||
"profitcenter_labor": "",
|
||||
"profitcenter_part": "",
|
||||
"prt_dsmk_p": "",
|
||||
"status": "Estado",
|
||||
"total": "",
|
||||
"unq_seq": "Seq #"
|
||||
@@ -1139,6 +1140,7 @@
|
||||
"ownr_ea": "Email",
|
||||
"ownr_ph1": "Teléfono 1",
|
||||
"paa": "",
|
||||
"pac": "",
|
||||
"pae": "",
|
||||
"pag": "",
|
||||
"pal": "",
|
||||
@@ -1876,10 +1878,10 @@
|
||||
"gsr_by_delivery_date": "",
|
||||
"gsr_by_estimator": "",
|
||||
"gsr_by_exported_date": "",
|
||||
"gsr_by_ins_co": "",
|
||||
"gsr_by_make": "",
|
||||
"gsr_by_referral": "",
|
||||
"gsr_by_ro": "",
|
||||
"gsr_by_ins_co": "",
|
||||
"gsr_labor_only": "",
|
||||
"hours_sold_detail_closed": "",
|
||||
"hours_sold_detail_closed_ins_co": "",
|
||||
|
||||
@@ -967,6 +967,7 @@
|
||||
},
|
||||
"profitcenter_labor": "",
|
||||
"profitcenter_part": "",
|
||||
"prt_dsmk_p": "",
|
||||
"status": "Statut",
|
||||
"total": "",
|
||||
"unq_seq": "Seq #"
|
||||
@@ -1139,6 +1140,7 @@
|
||||
"ownr_ea": "Email",
|
||||
"ownr_ph1": "Téléphone 1",
|
||||
"paa": "",
|
||||
"pac": "",
|
||||
"pae": "",
|
||||
"pag": "",
|
||||
"pal": "",
|
||||
@@ -1876,10 +1878,10 @@
|
||||
"gsr_by_delivery_date": "",
|
||||
"gsr_by_estimator": "",
|
||||
"gsr_by_exported_date": "",
|
||||
"gsr_by_ins_co": "",
|
||||
"gsr_by_make": "",
|
||||
"gsr_by_referral": "",
|
||||
"gsr_by_ro": "",
|
||||
"gsr_by_ins_co": "",
|
||||
"gsr_labor_only": "",
|
||||
"hours_sold_detail_closed": "",
|
||||
"hours_sold_detail_closed_ins_co": "",
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
- args:
|
||||
cascade: false
|
||||
read_only: false
|
||||
sql: ALTER TABLE ONLY "public"."joblines" ALTER COLUMN "prt_dsmk_p" DROP DEFAULT;
|
||||
type: run_sql
|
||||
@@ -0,0 +1,6 @@
|
||||
- args:
|
||||
cascade: false
|
||||
read_only: false
|
||||
sql: ALTER TABLE ONLY "public"."joblines" ALTER COLUMN "prt_dsmk_p" SET DEFAULT
|
||||
0;
|
||||
type: run_sql
|
||||
@@ -0,0 +1 @@
|
||||
[]
|
||||
@@ -0,0 +1,5 @@
|
||||
- args:
|
||||
cascade: false
|
||||
read_only: false
|
||||
sql: "update joblines \nset prt_dsmk_p = 0 where joblines.prt_dsmk_p is null;"
|
||||
type: run_sql
|
||||
@@ -314,7 +314,7 @@ function GenerateCostingData(job) {
|
||||
amount: Math.round((val.act_price || 0) * 100),
|
||||
})
|
||||
.multiply(val.part_qty || 0)
|
||||
.percentage(val.prt_dsmk_p)
|
||||
.percentage(val.prt_dsmk_p || 0)
|
||||
);
|
||||
if (!acc.parts[partsProfitCenter])
|
||||
acc.parts[partsProfitCenter] = Dinero();
|
||||
@@ -343,7 +343,7 @@ function GenerateCostingData(job) {
|
||||
amount: Math.round((val.act_price || 0) * 100),
|
||||
})
|
||||
.multiply(val.part_qty || 0)
|
||||
.percentage(val.prt_dsmk_p)
|
||||
.percentage(val.prt_dsmk_p || 0)
|
||||
);
|
||||
|
||||
if (!acc.parts[partsProfitCenter])
|
||||
|
||||
@@ -217,7 +217,7 @@ function CalculatePartsTotals(jobLines) {
|
||||
amount: Math.round((value.act_price || 0) * 100),
|
||||
})
|
||||
.multiply(value.part_qty || 0)
|
||||
.percentage(value.prt_dsmk_p)
|
||||
.percentage(value.prt_dsmk_p || 0)
|
||||
),
|
||||
list: {
|
||||
...acc.parts.list,
|
||||
@@ -248,7 +248,7 @@ function CalculatePartsTotals(jobLines) {
|
||||
amount: Math.round((value.act_price || 0) * 100),
|
||||
})
|
||||
.multiply(value.part_qty || 0)
|
||||
.percentage(value.prt_dsmk_p)
|
||||
.percentage(value.prt_dsmk_p || 0)
|
||||
),
|
||||
},
|
||||
};
|
||||
@@ -382,7 +382,7 @@ function CalculateTaxesTotals(job, otherTotals) {
|
||||
amount: Math.round((val.act_price || 0) * 100),
|
||||
})
|
||||
.multiply(val.part_qty || 0)
|
||||
.percentage(val.prt_dsmk_p)
|
||||
.percentage(val.prt_dsmk_p || 0)
|
||||
)
|
||||
.percentage(
|
||||
((job.parts_tax_rates &&
|
||||
@@ -425,12 +425,18 @@ function CalculateTaxesTotals(job, otherTotals) {
|
||||
.add(ret.state_tax)
|
||||
.add(ret.local_tax);
|
||||
|
||||
console.log(
|
||||
"Checking GST",
|
||||
job.ca_customer_gst !== 0,
|
||||
job.ca_customer_gst !== null
|
||||
);
|
||||
|
||||
ret.custPayable = {
|
||||
deductible: Dinero({ amount: (job.ded_amt || 0) * 100 }) || 0,
|
||||
federal_tax: job.ca_gst_registrant
|
||||
? job.ca_customer_gst !== 0
|
||||
? Dinero({ amount: job.ca_customer_gst * 100 })
|
||||
: ret.federal_tax
|
||||
? job.ca_customer_gst === 0 || job.ca_customer_gst === null
|
||||
? ret.federal_tax
|
||||
: Dinero({ amount: Math.round(job.ca_customer_gst * 100) })
|
||||
: Dinero(),
|
||||
other_customer_amount: Dinero({
|
||||
amount: (job.other_amount_payable || 0) * 100,
|
||||
|
||||
Reference in New Issue
Block a user