2022-04-19 05:59:36 +00:00
|
|
|
import { t } from 'fyo';
|
2021-12-12 10:00:50 +00:00
|
|
|
import { DateTime } from 'luxon';
|
2022-01-10 11:20:53 +00:00
|
|
|
import { stateCodeMap } from '../../accounting/gst';
|
2021-12-30 09:33:03 +00:00
|
|
|
import { titleCase } from '../../src/utils';
|
2021-11-04 10:31:26 +00:00
|
|
|
|
|
|
|
export default {
|
2019-07-19 13:24:31 +00:00
|
|
|
filterFields: [
|
2019-02-18 05:42:04 +00:00
|
|
|
{
|
2021-12-30 09:33:03 +00:00
|
|
|
fieldtype: 'AutoComplete',
|
2022-02-16 06:19:16 +00:00
|
|
|
label: t`Place`,
|
2019-08-14 07:43:49 +00:00
|
|
|
size: 'small',
|
2022-03-30 10:57:45 +00:00
|
|
|
placeholder: t`Place`,
|
2021-12-16 11:15:31 +00:00
|
|
|
fieldname: 'place',
|
2022-03-23 06:47:13 +00:00
|
|
|
getList: () => Object.keys(stateCodeMap).map(titleCase).sort(),
|
2019-02-18 05:42:04 +00:00
|
|
|
},
|
|
|
|
{
|
2019-07-19 13:24:31 +00:00
|
|
|
fieldtype: 'Date',
|
2022-02-16 06:19:16 +00:00
|
|
|
label: t`From Date`,
|
2019-08-14 07:43:49 +00:00
|
|
|
size: 'small',
|
2022-03-30 10:57:45 +00:00
|
|
|
placeholder: t`From Date`,
|
2021-12-16 11:15:31 +00:00
|
|
|
fieldname: 'fromDate',
|
2021-12-14 17:59:36 +00:00
|
|
|
default: () => DateTime.local().minus({ months: 3 }).toISODate(),
|
2019-02-18 05:42:04 +00:00
|
|
|
},
|
|
|
|
{
|
2019-07-19 13:24:31 +00:00
|
|
|
fieldtype: 'Date',
|
2022-02-16 06:19:16 +00:00
|
|
|
label: t`To Date`,
|
2019-08-14 07:43:49 +00:00
|
|
|
size: 'small',
|
2022-03-30 10:57:45 +00:00
|
|
|
placeholder: t`To Date`,
|
2021-12-16 11:15:31 +00:00
|
|
|
fieldname: 'toDate',
|
2021-12-14 17:59:36 +00:00
|
|
|
default: () => DateTime.local().toISODate(),
|
2021-12-16 11:15:31 +00:00
|
|
|
},
|
2019-07-19 13:24:31 +00:00
|
|
|
],
|
2021-12-29 05:22:31 +00:00
|
|
|
getColumns({ filters }) {
|
|
|
|
const columns = [
|
2019-07-19 13:24:31 +00:00
|
|
|
{
|
2022-02-16 06:19:16 +00:00
|
|
|
label: t`Party`,
|
2019-07-19 13:24:31 +00:00
|
|
|
fieldtype: 'Data',
|
2019-07-22 09:56:30 +00:00
|
|
|
fieldname: 'partyName',
|
2021-12-02 08:34:26 +00:00
|
|
|
width: 1.5,
|
2019-07-19 13:24:31 +00:00
|
|
|
},
|
|
|
|
{
|
2022-02-16 06:19:16 +00:00
|
|
|
label: t`Invoice No.`,
|
2019-07-19 13:24:31 +00:00
|
|
|
fieldname: 'invNo',
|
|
|
|
fieldtype: 'Data',
|
|
|
|
},
|
|
|
|
{
|
2022-02-16 06:19:16 +00:00
|
|
|
label: t`Invoice Value`,
|
2019-07-19 13:24:31 +00:00
|
|
|
fieldname: 'invAmt',
|
|
|
|
fieldtype: 'Currency',
|
|
|
|
},
|
|
|
|
{
|
2022-02-16 06:19:16 +00:00
|
|
|
label: t`Invoice Date`,
|
2019-07-19 13:24:31 +00:00
|
|
|
fieldname: 'invDate',
|
|
|
|
fieldtype: 'Date',
|
|
|
|
},
|
|
|
|
{
|
2022-02-16 06:19:16 +00:00
|
|
|
label: t`Place of supply`,
|
2019-07-19 13:24:31 +00:00
|
|
|
fieldname: 'place',
|
|
|
|
fieldtype: 'Data',
|
|
|
|
},
|
|
|
|
{
|
2022-02-16 06:19:16 +00:00
|
|
|
label: t`Rate`,
|
2019-07-19 13:24:31 +00:00
|
|
|
fieldname: 'rate',
|
|
|
|
fieldtype: 'Data',
|
2021-12-02 08:34:26 +00:00
|
|
|
width: 0.5,
|
2019-07-19 13:24:31 +00:00
|
|
|
},
|
|
|
|
{
|
2022-02-16 06:19:16 +00:00
|
|
|
label: t`Taxable Value`,
|
2019-07-25 09:50:48 +00:00
|
|
|
fieldname: 'taxVal',
|
2019-07-19 13:24:31 +00:00
|
|
|
fieldtype: 'Currency',
|
|
|
|
},
|
2019-07-25 09:50:48 +00:00
|
|
|
{
|
2022-02-16 06:19:16 +00:00
|
|
|
label: t`Reverse Chrg.`,
|
2019-07-25 09:50:48 +00:00
|
|
|
fieldname: 'reverseCharge',
|
|
|
|
fieldtype: 'Data',
|
|
|
|
},
|
2019-07-19 13:24:31 +00:00
|
|
|
{
|
2022-02-16 06:19:16 +00:00
|
|
|
label: t`Intergrated Tax`,
|
2019-07-19 13:24:31 +00:00
|
|
|
fieldname: 'igstAmt',
|
|
|
|
fieldtype: 'Currency',
|
|
|
|
},
|
|
|
|
{
|
2022-02-16 06:19:16 +00:00
|
|
|
label: t`Central Tax`,
|
2019-07-19 13:24:31 +00:00
|
|
|
fieldname: 'cgstAmt',
|
|
|
|
fieldtype: 'Currency',
|
|
|
|
},
|
|
|
|
{
|
2022-02-16 06:19:16 +00:00
|
|
|
label: t`State Tax`,
|
2019-07-19 13:24:31 +00:00
|
|
|
fieldname: 'sgstAmt',
|
|
|
|
fieldtype: 'Currency',
|
2021-12-16 11:15:31 +00:00
|
|
|
},
|
2019-02-18 05:42:04 +00:00
|
|
|
];
|
2021-12-29 05:22:31 +00:00
|
|
|
|
|
|
|
const transferType = filters.transferType || 'B2B';
|
|
|
|
if (transferType === 'B2B') {
|
|
|
|
columns.unshift({
|
2022-02-16 06:19:16 +00:00
|
|
|
label: t`GSTIN No.`,
|
2021-12-29 05:22:31 +00:00
|
|
|
fieldname: 'gstin',
|
|
|
|
fieldtype: 'Data',
|
|
|
|
width: 1.5,
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
return columns;
|
2021-12-16 11:15:31 +00:00
|
|
|
},
|
2019-07-19 13:24:31 +00:00
|
|
|
};
|