2
0
mirror of https://github.com/frappe/books.git synced 2025-01-25 16:18:33 +00:00
books/reports/GoodsAndServiceTax/GoodsAndServiceTax.js
Nishchith K 72c6d7f6c7 Winter Sprint: Work (#79)
*  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.
2019-02-18 11:12:04 +05:30

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;