mirror of
https://github.com/InvoiceShelf/InvoiceShelf.git
synced 2026-04-22 12:44:09 +00:00
Tax calculation issue (#38)
* fix initial tax per item issue * remove commit in estimate storage * add changes in tax per item calculation * add validation on requests * fix minimum total issue * fix table pagination filter issue * minor fix * remove compound interest and remove unused code --------- Co-authored-by: yashkanakiya <yashkanakiya281297@gmail.com> Co-authored-by: dhruvbhattt <dhruvbhatt7790@gmail.com> Co-authored-by: gdarko <dg@darkog.com>
This commit is contained in:
committed by
GitHub
parent
0d006846d5
commit
8788f3d504
@@ -147,6 +147,7 @@ import {
|
||||
decimal,
|
||||
} from '@vuelidate/validators'
|
||||
import useVuelidate from '@vuelidate/core'
|
||||
import { cloneDeep } from 'lodash'
|
||||
|
||||
import { useInvoiceStore } from '@/scripts/admin/stores/invoice'
|
||||
import { useModuleStore } from '@/scripts/admin/stores/module'
|
||||
@@ -258,11 +259,29 @@ async function submitForm() {
|
||||
|
||||
isSaving.value = true
|
||||
|
||||
let data = {
|
||||
let data = cloneDeep({
|
||||
...invoiceStore.newInvoice,
|
||||
sub_total: invoiceStore.getSubTotal,
|
||||
total: invoiceStore.getTotal,
|
||||
tax: invoiceStore.getTotalTax,
|
||||
})
|
||||
if (data.discount_per_item === 'YES') {
|
||||
data.items.forEach((item, index) => {
|
||||
if (item.discount_type === 'fixed'){
|
||||
data.items[index].discount = item.discount * 100
|
||||
}
|
||||
})
|
||||
}
|
||||
else {
|
||||
if (data.discount_type === 'fixed'){
|
||||
data.discount = data.discount * 100
|
||||
}
|
||||
}
|
||||
if (
|
||||
!invoiceStore.newInvoice.tax_per_item === 'YES'
|
||||
&& data.taxes.length
|
||||
){
|
||||
data.tax_type_ids = data.taxes.map(_t => _t.tax_type_id)
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user