mirror of
https://github.com/frappe/books.git
synced 2025-01-25 16:18:33 +00:00
72c6d7f6c7
* init() * Country-wise Chart of accounts on setup * Add a sample invoice template * Some error fixes * [fix] missing COA - move importCOA.js from models/doctype/account to models/doctype/Account * All Account initial balance zero * setup Bank Reconciliation * New chart of accounts tree component * GST taxes added. initialized gst reports. * [chore] add *.db to .gitignore * [fix] importCOA path error * fix error + bank reconciliation fields * [feat] add gst taxes * GST report initialized * GST report finalized * GST report finalized * Complete min. reconciliation * [feat] auto select tax in invoice based on states * [chore] fix merge changes * Fix date issue - Make Payment * Add invoice templates and invoice customizer panel * Restructure invoice vue components * update file with fiscal year * Fix issues in invoice designs * Add company settings. Dynamic addresses in invoice * Move invoice styles to different file and add separate components for addresses * [feat] add export-filtered-data-to-csv to reports * [feat] add Export Wizard component for customizing export * Fix invoice customizer position while scrolling. Fix address displayed as undefined in invoice if not found in db * [chore] change markup for select all chkbox * Setup config as doctype * GSTIN bug fix * Add custom google fonts * Add Send email footer * Fix DateTime * Complete Merge + Resolve * Complete Merge + Resolve * [chore] change layout of Export Wizard * [enh] optimize checkNoneSelected, style export modal footer divider * Add Tax to SideBar * Remove extra logs * [fix] db name section in sidebar showing absolute path instead of dbname in windows i.e. platform=win32 * Country-wise Chart of accounts on setup (#78) * Country-wise Chart of accounts on setup * Some error fixes * All Account initial balance zero * Update README.md - updated installation instructions with more detail * Merge #79 Winter Sprint: Work https://github.com/frappe/accounting/pull/79 * Revert "Merge #79 Winter Sprint: Work" This reverts commit 171511666817caa430af672791c8d452e3b4b680.
60 lines
1.8 KiB
JavaScript
60 lines
1.8 KiB
JavaScript
const frappe = require('frappejs');
|
|
|
|
class GoodsAndServiceTax {
|
|
async run(params) {
|
|
let filters = {};
|
|
if (params.toDate || params.fromDate) {
|
|
filters.date = [];
|
|
if (params.toDate) filters.date.push('<=', params.toDate);
|
|
if (params.fromDate) filters.date.push('>=', params.fromDate);
|
|
}
|
|
if (params.transferType) filters.transferType = params.transferType;
|
|
|
|
let invoiceNames = await frappe.db.getAll({
|
|
doctype: 'Invoice',
|
|
filter: filters
|
|
});
|
|
|
|
let tableData = [];
|
|
for (let invoice of invoiceNames) {
|
|
const row = await this.getRow(invoice.name)
|
|
tableData.push(row)
|
|
}
|
|
|
|
if(Object.keys(filters).length != 0){
|
|
tableData = tableData.filter((row) => {
|
|
if(filters.account) return row.account === filters.account
|
|
if(filters.transferType) return row.transferType === filters.transferType
|
|
if(filters.place) return row.place === filters.place
|
|
return true
|
|
})
|
|
}
|
|
|
|
return tableData;
|
|
}
|
|
|
|
async getRow(name) {
|
|
let row = {}
|
|
let invoiceDetails = await frappe.getDoc('Invoice', name);
|
|
let customerDetails = await frappe.getDoc('Party', invoiceDetails.customer);
|
|
let addressDetails = await frappe.getDoc('Address', customerDetails.address);
|
|
row.gstin = customerDetails.gstin
|
|
row.cusName = invoiceDetails.customer
|
|
row.invNo = invoiceDetails.name
|
|
row.invDate = invoiceDetails.date
|
|
row.place = addressDetails.state
|
|
row.rate = 0
|
|
row.transferType = 'In State';
|
|
invoiceDetails.taxes.forEach(tax => {
|
|
row.rate += tax.rate
|
|
if (tax.account === 'IGST') row.transferType = 'Out of State';
|
|
});
|
|
row.invAmt = invoiceDetails.grandTotal
|
|
row.taxAmt = invoiceDetails.netTotal
|
|
return row
|
|
}
|
|
|
|
}
|
|
|
|
module.exports = GoodsAndServiceTax;
|