From 0701c56429bedf8c3dedf0ed3dcbaacbb121619e Mon Sep 17 00:00:00 2001 From: 18alantom <2.alan.tom@gmail.com> Date: Wed, 11 May 2022 16:14:31 +0530 Subject: [PATCH] incr: add code to generate a dummy instance --- backend/database/bespoke.ts | 16 + dummy/README.md | 7 + dummy/helpers.ts | 54 +++ dummy/index.ts | 417 ++++++++++++++++++- dummy/items.json | 2 +- dummy/parties.json | 2 +- dummy/tests/testDummy.spec.ts | 21 +- fyo/core/converter.ts | 8 + fyo/core/dbHandler.ts | 15 + fyo/model/doc.ts | 7 + fyo/model/naming.ts | 49 +-- fyo/utils/index.ts | 6 - models/Transactional/Transactional.ts | 10 +- models/baseModels/InvoiceItem/InvoiceItem.ts | 1 + models/helpers.ts | 2 +- models/types.ts | 2 + src/renderer.ts | 4 + 17 files changed, 570 insertions(+), 53 deletions(-) create mode 100644 dummy/README.md create mode 100644 dummy/helpers.ts diff --git a/backend/database/bespoke.ts b/backend/database/bespoke.ts index 1c17d85a..64db95ba 100644 --- a/backend/database/bespoke.ts +++ b/backend/database/bespoke.ts @@ -4,6 +4,22 @@ import { BespokeFunction } from './types'; export class BespokeQueries { [key: string]: BespokeFunction; + static async getLastInserted( + db: DatabaseCore, + schemaName: string + ): Promise { + const lastInserted = (await db.knex!.raw( + 'select cast(name as int) as num from ?? order by num desc limit 1', + [schemaName] + )) as { num: number }[]; + + const num = lastInserted?.[0]?.num; + if (num === undefined) { + return 0; + } + return num; + } + static async getTopExpenses( db: DatabaseCore, fromDate: string, diff --git a/dummy/README.md b/dummy/README.md new file mode 100644 index 00000000..7da57f33 --- /dev/null +++ b/dummy/README.md @@ -0,0 +1,7 @@ +# Dummy + +This will be used to generate dummy data for the purposes of tests and to create +a demo instance. + +There are a few `.json` files here (eg: `items.json`) which have been generated, +these are not to be edited. diff --git a/dummy/helpers.ts b/dummy/helpers.ts new file mode 100644 index 00000000..f8fe6308 --- /dev/null +++ b/dummy/helpers.ts @@ -0,0 +1,54 @@ +import { DateTime } from 'luxon'; + +// prettier-ignore +export const partyPurchaseItemMap: Record = { + 'Janky Office Spaces': ['Office Rent', 'Office Cleaning'], + "Josféña's 611s": ['611 Jeans - PCH', '611 Jeans - SHR'], + 'Lankness Feet Fomenters': ['Bominga Shoes', 'Jade Slippers'], + 'The Overclothes Company': ['Jacket - RAW', 'Cryo Gloves', 'Cool Cloth'], + 'Adani Electricity Mumbai Limited': ['Electricity'], + 'Only Fulls': ['Full Sleeve - BLK', 'Full Sleeve - COL'], + 'Just Epaulettes': ['Epaulettes - 4POR'], + 'Le Socials': ['Social Ads'], + 'Maxwell': ['Marketing - Video'], +}; + +export const purchaseItemPartyMap: Record = Object.keys( + partyPurchaseItemMap +).reduce((acc, party) => { + for (const item of partyPurchaseItemMap[party]) { + acc[item] = party; + } + return acc; +}, {} as Record); + +export function getFlowConstant(months: number) { + // Jan to December + const flow = [ + 0.15, 0.1, 0.25, 0.1, 0.01, 0.01, 0.01, 0.05, 0, 0.15, 0.2, 0.4, + ]; + + const d = DateTime.now().minus({ months }); + return flow[d.month - 1]; +} + +export function getRandomDates(count: number, months: number): Date[] { + /** + * Returns `count` number of dates for a month, `months` back from the + * current date. + */ + let endDate = DateTime.now(); + if (months !== 0) { + const back = endDate.minus({ months }); + endDate = DateTime.local(endDate.year, back.month, back.daysInMonth); + } + + const dates: Date[] = []; + for (let i = 0; i < count; i++) { + const day = Math.ceil(endDate.day * Math.random()); + const date = DateTime.local(endDate.year, endDate.month, day); + dates.push(date.toJSDate()); + } + + return dates; +} diff --git a/dummy/index.ts b/dummy/index.ts index 93250253..c4b07d14 100644 --- a/dummy/index.ts +++ b/dummy/index.ts @@ -1,10 +1,33 @@ import { Fyo } from 'fyo'; +import { Doc } from 'fyo/model/doc'; +import { range, sample } from 'lodash'; +import { DateTime } from 'luxon'; +import { Invoice } from 'models/baseModels/Invoice/Invoice'; +import { Payment } from 'models/baseModels/Payment/Payment'; +import { PurchaseInvoice } from 'models/baseModels/PurchaseInvoice/PurchaseInvoice'; +import { SalesInvoice } from 'models/baseModels/SalesInvoice/SalesInvoice'; +import { ModelNameEnum } from 'models/types'; import setupInstance from 'src/setup/setupInstance'; +import { getMapFromList } from 'utils'; import { getFiscalYear } from 'utils/misc'; +import { + getFlowConstant, + getRandomDates, + purchaseItemPartyMap, +} from './helpers'; import items from './items.json'; import parties from './parties.json'; -export async function setupDummyInstance(dbPath: string, fyo: Fyo) { +type Notifier = (stage: string, count: number, total: number) => void; + +export async function setupDummyInstance( + dbPath: string, + fyo: Fyo, + years: number = 1, + baseCount: number = 1000, + notifier?: Notifier +) { + notifier?.(fyo.t`Setting Up Instance`, 0, 0); await setupInstance( dbPath, { @@ -22,10 +45,385 @@ export async function setupDummyInstance(dbPath: string, fyo: Fyo) { fyo ); - await generateEntries(fyo); + years = Math.floor(years); + notifier?.(fyo.t`Creating Items and Parties`, 0, 0); + await generateStaticEntries(fyo); + await generateDynamicEntries(fyo, years, baseCount, notifier); } -async function generateEntries(fyo: Fyo) { +/** + * warning: long functions ahead! + */ + +async function generateDynamicEntries( + fyo: Fyo, + years: number, + baseCount: number, + notifier?: Notifier +) { + notifier?.(fyo.t`Getting Sales Invoices`, 0, 0); + const salesInvoices = await getSalesInvoices(fyo, years, baseCount); + + notifier?.(fyo.t`Getting Purchase Invoices`, 0, 0); + const purchaseInvoices = await getPurchaseInvoices(fyo, years, salesInvoices); + + notifier?.(fyo.t`Getting Journal Entries`, 0, 0); + const journalEntries = await getJournalEntries(fyo, salesInvoices); + await syncAndSubmit(journalEntries, (count: number, total: number) => + notifier?.(fyo.t`Syncing Journal Entries`, count, total) + ); + + const invoices = ([salesInvoices, purchaseInvoices].flat() as Invoice[]).sort( + (a, b) => +(a.date as Date) - +(b.date as Date) + ); + await syncAndSubmit(invoices, (count: number, total: number) => + notifier?.(fyo.t`Syncing Invoices`, count, total) + ); + + const payments = await getPayments(fyo, invoices); + await syncAndSubmit(payments, (count: number, total: number) => + notifier?.(fyo.t`Syncing Payments`, count, total) + ); +} + +async function getJournalEntries(fyo: Fyo, salesInvoices: SalesInvoice[]) { + const entries = []; + const amount = salesInvoices + .map((i) => i.items!) + .flat() + .reduce((a, b) => a.add(b.amount!), fyo.pesa(0)) + .percent(75) + .clip(0); + const lastInv = salesInvoices.sort((a, b) => +a.date! - +b.date!).at(-1)! + .date!; + const date = DateTime.fromJSDate(lastInv).minus({ months: 6 }).toJSDate(); + + // Bank Entry + let doc = fyo.doc.getNewDoc(ModelNameEnum.JournalEntry, { + date, + entryType: 'Bank Entry', + }); + await doc.append('accounts', { + account: 'Supreme Bank', + debit: amount, + credit: fyo.pesa(0), + }); + + await doc.append('accounts', { + account: 'Secured Loans', + credit: amount, + debit: fyo.pesa(0), + }); + entries.push(doc); + + // Cash Entry + doc = fyo.doc.getNewDoc(ModelNameEnum.JournalEntry, { + date, + entryType: 'Cash Entry', + }); + await doc.append('accounts', { + account: 'Cash', + debit: amount.percent(30), + credit: fyo.pesa(0), + }); + + await doc.append('accounts', { + account: 'Supreme Bank', + credit: amount.percent(30), + debit: fyo.pesa(0), + }); + entries.push(doc); + + return entries; +} + +async function getPayments(fyo: Fyo, invoices: Invoice[]) { + const payments = []; + for (const invoice of invoices) { + // Defaulters + if (invoice.isSales && Math.random() < 0.007) { + continue; + } + + const doc = fyo.doc.getNewDoc(ModelNameEnum.Payment) as Payment; + doc.party = invoice.party as string; + doc.paymentType = invoice.isSales ? 'Receive' : 'Pay'; + doc.paymentMethod = 'Cash'; + doc.date = DateTime.fromJSDate(invoice.date as Date) + .plus({ hours: 1 }) + .toJSDate(); + if (doc.paymentType === 'Receive') { + doc.account = 'Debtors'; + doc.paymentAccount = 'Cash'; + } else { + doc.account = 'Cash'; + doc.paymentAccount = 'Creditors'; + } + doc.amount = invoice.outstandingAmount; + + // Discount + if (invoice.isSales && Math.random() < 0.05) { + await doc.set('writeOff', invoice.outstandingAmount?.percent(15)); + } + + doc.push('for', { + referenceType: invoice.schemaName, + referenceName: invoice.name, + amount: invoice.outstandingAmount, + }); + + payments.push(doc); + } + + return payments; +} + +async function getSalesInvoices(fyo: Fyo, years: number, baseCount: number) { + const invoices: SalesInvoice[] = []; + const salesItems = items.filter((i) => i.for !== 'Purchases'); + const customers = parties.filter((i) => i.role !== 'Supplier'); + + /** + * Get certain number of entries for each month of the count + * of years. + */ + for (const months of range(0, years * 12)) { + const flow = getFlowConstant(months); + const count = Math.ceil(flow * baseCount * (Math.random() * 0.25 + 0.75)); + const dates = getRandomDates(count, months); + + /** + * For each date create a Sales Invoice. + */ + + for (const date of dates) { + const customer = sample(customers); + + const doc = fyo.doc.getNewDoc(ModelNameEnum.SalesInvoice, { + date, + }) as SalesInvoice; + + await doc.set('party', customer!.name); + if (!doc.account) { + doc.account = 'Debtors'; + } + /** + * Add `numItems` number of items to the invoice. + */ + const numItems = Math.ceil(Math.random() * 5); + for (let i = 0; i < numItems; i++) { + const item = sample(salesItems); + if ((doc.items ?? []).find((i) => i.item === item)) { + continue; + } + + let quantity = 1; + + /** + * Increase quantity depending on the rate. + */ + if (item!.rate < 100 && Math.random() < 0.4) { + quantity = Math.ceil(Math.random() * 10); + } else if (item!.rate < 1000 && Math.random() < 0.2) { + quantity = Math.ceil(Math.random() * 4); + } else if (Math.random() < 0.01) { + quantity = Math.ceil(Math.random() * 3); + } + + const rate = fyo.pesa(item!.rate * flow + 1).clip(0); + await doc.append('items', {}); + await doc.items!.at(-1)!.set({ + item: item!.name, + rate, + quantity, + account: item!.incomeAccount, + amount: rate.mul(quantity), + tax: item!.tax, + description: item!.description, + hsnCode: item!.hsnCode, + }); + } + + invoices.push(doc); + } + } + + return invoices; +} + +async function getPurchaseInvoices( + fyo: Fyo, + years: number, + salesInvoices: SalesInvoice[] +): Promise { + return [ + await getSalesPurchaseInvoices(fyo, salesInvoices), + await getNonSalesPurchaseInvoices(fyo, years), + ].flat(); +} + +async function getSalesPurchaseInvoices( + fyo: Fyo, + salesInvoices: SalesInvoice[] +): Promise { + const invoices = [] as PurchaseInvoice[]; + /** + * Group all sales invoices by their YYYY-MM. + */ + const dateGrouped = salesInvoices + .map((si) => { + const date = DateTime.fromJSDate(si.date as Date); + const key = `${date.year}-${String(date.month).padStart(2, '0')}`; + return { key, si }; + }) + .reduce((acc, item) => { + acc[item.key] ??= []; + acc[item.key].push(item.si); + return acc; + }, {} as Record); + + /** + * Sort the YYYY-MM keys in ascending order. + */ + const dates = Object.keys(dateGrouped) + .map((k) => ({ key: k, date: new Date(k) })) + .sort((a, b) => +a.date - +b.date); + const purchaseQty: Record = {}; + + /** + * For each date create a set of Purchase Invoices. + */ + for (const { key, date } of dates) { + /** + * Group items by name to get the total quantity used in a month. + */ + const itemGrouped = dateGrouped[key].reduce((acc, si) => { + for (const item of si.items!) { + if (item.item === 'Dry-Cleaning') { + continue; + } + + acc[item.item as string] ??= 0; + acc[item.item as string] += item.quantity as number; + } + + return acc; + }, {} as Record); + + /** + * Set order quantity for the first of the month. + */ + Object.keys(itemGrouped).forEach((name) => { + const quantity = itemGrouped[name]; + purchaseQty[name] ??= 0; + let prevQty = purchaseQty[name]; + + if (prevQty <= quantity) { + prevQty = quantity - prevQty; + } + + purchaseQty[name] = Math.ceil(prevQty / 10) * 10; + }); + + const supplierGrouped = Object.keys(itemGrouped).reduce((acc, item) => { + const supplier = purchaseItemPartyMap[item]; + acc[supplier] ??= []; + acc[supplier].push(item); + + return acc; + }, {} as Record); + + /** + * For each supplier create a Purchase Invoice + */ + for (const supplier in supplierGrouped) { + const doc = fyo.doc.getNewDoc(ModelNameEnum.PurchaseInvoice, { + date, + }) as PurchaseInvoice; + + await doc.set('party', supplier); + if (!doc.account) { + doc.account = 'Creditors'; + } + + /** + * For each item create a row + */ + for (const item of supplierGrouped[supplier]) { + await doc.append('items', {}); + const quantity = purchaseQty[item]; + doc.items!.at(-1)!.set({ item, quantity }); + } + + invoices.push(doc); + } + } + + return invoices; +} + +async function getNonSalesPurchaseInvoices( + fyo: Fyo, + years: number +): Promise { + const purchaseItems = items.filter((i) => i.for !== 'Sales'); + const itemMap = getMapFromList(purchaseItems, 'name'); + const periodic: Record = { + 'Marketing - Video': 2, + 'Social Ads': 1, + Electricity: 1, + 'Office Cleaning': 1, + 'Office Rent': 1, + }; + const invoices: SalesInvoice[] = []; + + for (const months of range(0, years * 12)) { + /** + * All purchases on the first of the month. + */ + const temp = DateTime.now().minus({ months }); + const date = DateTime.local(temp.year, temp.month, 1).toJSDate(); + + for (const name in periodic) { + if (months % periodic[name] !== 0) { + continue; + } + + const doc = fyo.doc.getNewDoc(ModelNameEnum.PurchaseInvoice, { + date, + }) as PurchaseInvoice; + + const party = purchaseItemPartyMap[name]; + await doc.set('party', party); + if (!doc.account) { + doc.account = 'Creditors'; + } + await doc.append('items', {}); + const row = doc.items!.at(-1)!; + const item = itemMap[name]; + + let quantity = 1; + let rate = item.rate; + if (name === 'Social Ads') { + quantity = Math.ceil(Math.random() * 200); + } else if (name !== 'Office Rent') { + rate = rate * (Math.random() * 0.4 + 0.8); + } + + await row.set({ + item: item.name, + quantity, + rate: fyo.pesa(rate).clip(0), + }); + + invoices.push(doc); + } + } + + return invoices; +} + +async function generateStaticEntries(fyo: Fyo) { await generateItems(fyo); await generateParties(fyo); } @@ -43,3 +441,16 @@ async function generateParties(fyo: Fyo) { await doc.sync(); } } + +async function syncAndSubmit( + docs: Doc[], + notifier: (count: number, total: number) => void +) { + const total = docs.length; + for (const i in docs) { + notifier(parseInt(i) + 1, total); + const doc = docs[i]; + await doc.sync(); + await doc.submit(); + } +} diff --git a/dummy/items.json b/dummy/items.json index d0d42c6d..98b3d820 100644 --- a/dummy/items.json +++ b/dummy/items.json @@ -1 +1 @@ -[{"name": "611 Jeans - PCH", "description": "Peach coloured 611s", "unit": "Unit", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Cost of Goods Sold", "tax": "GST-12", "rate": 4499, "hsnCode": 62034990, "for": "Sales"}, {"name": "611 Jeans - SHR", "description": "Shark skin 611s", "unit": "Unit", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Cost of Goods Sold", "tax": "GST-12", "rate": 6499, "hsnCode": 62034990, "for": "Sales"}, {"name": "Bominga Shoes", "description": null, "unit": "Unit", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Cost of Goods Sold", "tax": "GST-18", "rate": 4999, "hsnCode": 640291, "for": "Sales"}, {"name": "Cryo Gloves", "description": "Keeps hands cool", "unit": "Unit", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Cost of Goods Sold", "tax": "GST-18", "rate": 3499, "hsnCode": 611693, "for": "Sales"}, {"name": "Epaulettes - 4POR", "description": "Porcelain epaulettes", "unit": "Unit", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Cost of Goods Sold", "tax": "GST-18", "rate": 2499, "hsnCode": 62179090, "for": "Sales"}, {"name": "Full Sleeve - BLK", "description": "Black sleeved", "unit": "Unit", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Cost of Goods Sold", "tax": "GST-12", "rate": 599, "hsnCode": 100820, "for": "Sales"}, {"name": "Full Sleeve - COL", "description": "All color sleeved", "unit": "Unit", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Cost of Goods Sold", "tax": "GST-12", "rate": 499, "hsnCode": 100820, "for": "Sales"}, {"name": "Jacket - RAW", "description": "Raw baby skinned jackets", "unit": "Unit", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Cost of Goods Sold", "tax": "GST-12", "rate": 8999, "hsnCode": 100820, "for": "Sales"}, {"name": "Jade Slippers", "description": null, "unit": "Unit", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Cost of Goods Sold", "tax": "GST-18", "rate": 2999, "hsnCode": 640520, "for": "Sales"}, {"name": "Dry-Cleaning", "description": null, "unit": "Unit", "itemType": "Service", "incomeAccount": "Service", "expenseAccount": "Cost of Goods Sold", "tax": "GST-18", "rate": 69, "hsnCode": 999712, "for": "Sales"}, {"name": "Electricity", "description": "Bzz Bzz", "unit": "Day", "itemType": "Service", "incomeAccount": "Service", "expenseAccount": "Utility Expenses", "tax": "GST-0", "rate": 6000, "hsnCode": 271600, "for": "Purchases"}, {"name": "Marketing - Video", "description": "One single video", "unit": "Unit", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Marketing Expenses", "tax": "GST-18", "rate": 15000, "hsnCode": 998371, "for": "Purchases"}, {"name": "Office Rent", "description": "Rent per day", "unit": "Day", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Office Rent", "tax": "GST-18", "rate": 100000, "hsnCode": 997212, "for": "Purchases"}, {"name": "Office Cleaning", "description": "Cleaning cost per day", "unit": "Day", "itemType": "Service", "incomeAccount": "Service", "expenseAccount": "Office Maintenance Expenses", "tax": "GST-18", "rate": 100000, "hsnCode": 998533, "for": "Purchases"}, {"name": "Social Ads", "description": "Cost per click", "unit": "Unit", "itemType": "Service", "incomeAccount": "Service", "expenseAccount": "Marketing Expenses", "tax": "GST-18", "rate": 50, "hsnCode": 99836, "for": "Purchases"}, {"name": "Cool Cloth", "description": "Some real \ud83c\udd92 cloth", "unit": "Meter", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Cost of Goods Sold", "tax": "GST-18", "rate": 4000, "hsnCode": 59111000, "for": "Both"}] \ No newline at end of file +[{"name": "Dry-Cleaning", "description": null, "unit": "Unit", "itemType": "Service", "incomeAccount": "Service", "expenseAccount": "Cost of Goods Sold", "tax": "GST-18", "rate": 69, "hsnCode": 999712, "for": "Sales"}, {"name": "Electricity", "description": "Bzz Bzz", "unit": "Day", "itemType": "Service", "incomeAccount": "Service", "expenseAccount": "Utility Expenses", "tax": "GST-0", "rate": 6000, "hsnCode": 271600, "for": "Purchases"}, {"name": "Marketing - Video", "description": "One single video", "unit": "Unit", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Marketing Expenses", "tax": "GST-18", "rate": 15000, "hsnCode": 998371, "for": "Purchases"}, {"name": "Office Rent", "description": "Rent per day", "unit": "Day", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Office Rent", "tax": "GST-18", "rate": 100000, "hsnCode": 997212, "for": "Purchases"}, {"name": "Office Cleaning", "description": "Cleaning cost per day", "unit": "Day", "itemType": "Service", "incomeAccount": "Service", "expenseAccount": "Office Maintenance Expenses", "tax": "GST-18", "rate": 100000, "hsnCode": 998533, "for": "Purchases"}, {"name": "Social Ads", "description": "Cost per click", "unit": "Unit", "itemType": "Service", "incomeAccount": "Service", "expenseAccount": "Marketing Expenses", "tax": "GST-18", "rate": 50, "hsnCode": 99836, "for": "Purchases"}, {"name": "Cool Cloth", "description": "Some real \ud83c\udd92 cloth", "unit": "Meter", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Cost of Goods Sold", "tax": "GST-18", "rate": 4000, "hsnCode": 59111000, "for": "Both"}, {"name": "611 Jeans - PCH", "description": "Peach coloured 611s", "unit": "Unit", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Cost of Goods Sold", "tax": "GST-12", "rate": 4499, "hsnCode": 62034990, "for": "Both"}, {"name": "611 Jeans - SHR", "description": "Shark skin 611s", "unit": "Unit", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Cost of Goods Sold", "tax": "GST-12", "rate": 6499, "hsnCode": 62034990, "for": "Both"}, {"name": "Bominga Shoes", "description": null, "unit": "Unit", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Cost of Goods Sold", "tax": "GST-18", "rate": 4999, "hsnCode": 640291, "for": "Both"}, {"name": "Cryo Gloves", "description": "Keeps hands cool", "unit": "Unit", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Cost of Goods Sold", "tax": "GST-18", "rate": 3499, "hsnCode": 611693, "for": "Both"}, {"name": "Epaulettes - 4POR", "description": "Porcelain epaulettes", "unit": "Unit", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Cost of Goods Sold", "tax": "GST-18", "rate": 2499, "hsnCode": 62179090, "for": "Both"}, {"name": "Full Sleeve - BLK", "description": "Black sleeved", "unit": "Unit", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Cost of Goods Sold", "tax": "GST-12", "rate": 599, "hsnCode": 100820, "for": "Both"}, {"name": "Full Sleeve - COL", "description": "All color sleeved", "unit": "Unit", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Cost of Goods Sold", "tax": "GST-12", "rate": 499, "hsnCode": 100820, "for": "Both"}, {"name": "Jacket - RAW", "description": "Raw baby skinned jackets", "unit": "Unit", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Cost of Goods Sold", "tax": "GST-12", "rate": 8999, "hsnCode": 100820, "for": "Both"}, {"name": "Jade Slippers", "description": null, "unit": "Unit", "itemType": "Product", "incomeAccount": "Sales", "expenseAccount": "Cost of Goods Sold", "tax": "GST-18", "rate": 2999, "hsnCode": 640520, "for": "Both"}] \ No newline at end of file diff --git a/dummy/parties.json b/dummy/parties.json index 5f04df76..7ba08c18 100644 --- a/dummy/parties.json +++ b/dummy/parties.json @@ -1 +1 @@ -[{"name": "Roy Rolston", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "roy_rolston@generic_indian.in", "phone": "+91 8085-761809", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Aloysius Albuquerque", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 6734-433583", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "James", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "james-679@gmail.com", "phone": "+91 9409-252148", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Mary", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 9686-432601", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Robert", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "robert_827@redis.rs", "phone": "+91 8866-405100", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Patricia", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "patricia_64@gmail.com", "phone": "+91 6199-779289", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "John", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "john.916@generic_indian.in", "phone": "+91 7190-555768", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jennifer", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jennifer.709@generic_indian.in", "phone": "+91 9233-632140", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Michael", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "michael.784@yahoo.co.in", "phone": "+91 6561-728159", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Linda", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "linda_768@partiesunited.co", "phone": "+91 8655-717226", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "William", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "william-775@gmail.com", "phone": "+91 8255-462112", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Elizabeth", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "elizabeth.763@gmail.com", "phone": "+91 8451-416308", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "David", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "david-88@gmail.com", "phone": "+91 6646-333642", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Barbara", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "barbara.714@yahoo.co.in", "phone": "+91 9996-777529", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Richard", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "richard-315@gmail.com", "phone": "+91 6816-661508", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Susan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "susan_795@redis.rs", "phone": "+91 9317-150134", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Joseph", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "joseph.725@gmail.com", "phone": "+91 9743-597180", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jessica", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jessica.913@gmail.com", "phone": "+91 8690-848811", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Thomas", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "thomas.821@yahoo.co.in", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Sarah", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "sarah-338@redis.rs", "phone": "+91 8608-462496", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Charles", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 7122-160573", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Karen", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "karen.536@yahoo.co.in", "phone": null, "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Christopher", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "christopher.38@gmail.com", "phone": "+91 8001-980273", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Nancy", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "nancy@gmail.com", "phone": "+91 7453-772757", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Daniel", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "daniel-934@partiesunited.co", "phone": "+91 7718-704011", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Lisa", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "lisa.330@gmail.com", "phone": "+91 6622-345518", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Matthew", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "matthew_66@partiesunited.co", "phone": "+91 6218-703147", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Betty", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "betty-510@yahoo.co.in", "phone": "+91 6860-603906", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Anthony", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "anthony_229@generic_indian.in", "phone": "+91 8533-030553", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Margaret", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "margaret_28@redis.rs", "phone": null, "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Mark", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "mark_721@partiesunited.co", "phone": "+91 7590-436520", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Sandra", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "sandra-425@gmail.com", "phone": "+91 6015-720815", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Donald", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "donald_821@partiesunited.co", "phone": "+91 6145-759778", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Ashley", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "ashley_684@redis.rs", "phone": "+91 8799-436202", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Steven", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "steven@yahoo.co.in", "phone": "+91 6761-152125", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Kimberly", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "kimberly-388@redis.rs", "phone": "+91 6352-411349", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Paul", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "paul_181@yahoo.co.in", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Emily", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "emily_596@generic_indian.in", "phone": "+91 9989-626151", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Andrew", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "andrew.38@redis.rs", "phone": "+91 7966-700777", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Donna", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "donna-412@gmail.com", "phone": "+91 9856-353641", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Joshua", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "joshua.955@redis.rs", "phone": "+91 6038-514242", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Michelle", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "michelle-582@redis.rs", "phone": null, "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Kenneth", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "kenneth_162@generic_indian.in", "phone": "+91 6175-284068", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Dorothy", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "dorothy.997@partiesunited.co", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Kevin", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "kevin.162@generic_indian.in", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Carol", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "carol-967@generic_indian.in", "phone": "+91 8175-539735", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Brian", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "brian-574@partiesunited.co", "phone": "+91 6408-864464", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Amanda", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "amanda-45@redis.rs", "phone": "+91 6665-854328", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "George", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "george@yahoo.co.in", "phone": "+91 7223-035503", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Melissa", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "melissa.551@partiesunited.co", "phone": "+91 6464-081038", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Edward", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "edward_852@yahoo.co.in", "phone": "+91 7192-818190", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Deborah", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 8780-967375", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Ronald", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "ronald@yahoo.co.in", "phone": "+91 8346-532731", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Stephanie", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "stephanie-233@gmail.com", "phone": "+91 7648-287693", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Timothy", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "timothy-640@partiesunited.co", "phone": "+91 8930-966620", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Rebecca", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 9481-932348", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jason", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jason@yahoo.co.in", "phone": "+91 7610-820391", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Sharon", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "sharon@generic_indian.in", "phone": "+91 8363-472658", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jeffrey", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 6612-342986", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Laura", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "laura_237@gmail.com", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Ryan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "ryan.14@generic_indian.in", "phone": "+91 9829-797485", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Cynthia", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "cynthia@gmail.com", "phone": "+91 7484-063430", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jacob", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jacob-561@redis.rs", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Kathleen", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "kathleen-858@redis.rs", "phone": "+91 6036-133810", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Gary", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "gary-984@redis.rs", "phone": "+91 7994-524709", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Amy", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "amy_614@redis.rs", "phone": "+91 9025-426780", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Nicholas", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "nicholas@partiesunited.co", "phone": "+91 7824-209517", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Shirley", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "shirley.562@redis.rs", "phone": "+91 9426-173760", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Eric", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "eric-200@yahoo.co.in", "phone": "+91 8251-483966", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Angela", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "angela_303@redis.rs", "phone": "+91 6358-368039", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jonathan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jonathan_654@gmail.com", "phone": "+91 9121-267798", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Helen", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "helen_379@partiesunited.co", "phone": "+91 6041-179352", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Stephen", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "stephen-30@yahoo.co.in", "phone": "+91 6776-201802", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Anna", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "anna.448@partiesunited.co", "phone": "+91 7869-863595", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Larry", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "larry.397@yahoo.co.in", "phone": "+91 8792-636435", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Brenda", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "brenda.80@gmail.com", "phone": "+91 9022-343413", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Justin", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "justin.813@yahoo.co.in", "phone": "+91 7690-923779", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Pamela", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "pamela_579@redis.rs", "phone": "+91 7179-474249", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Scott", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "scott_33@yahoo.co.in", "phone": "+91 9935-153243", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Nicole", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "nicole_502@partiesunited.co", "phone": "+91 8032-745703", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Brandon", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "brandon-680@redis.rs", "phone": "+91 9232-437897", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Emma", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "emma.999@yahoo.co.in", "phone": "+91 7288-589962", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Benjamin", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "benjamin.48@yahoo.co.in", "phone": "+91 9613-588904", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Samantha", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "samantha-762@redis.rs", "phone": "+91 8466-379168", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Samuel", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "samuel@redis.rs", "phone": "+91 8854-408752", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Katherine", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "katherine-405@generic_indian.in", "phone": "+91 7309-798133", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Gregory", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "gregory-159@yahoo.co.in", "phone": "+91 8826-959138", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Christine", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "christine_485@redis.rs", "phone": "+91 8898-070095", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Frank", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "frank-704@partiesunited.co", "phone": "+91 9428-163927", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Debra", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "debra-377@redis.rs", "phone": "+91 8018-135106", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Alexander", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "alexander_788@generic_indian.in", "phone": "+91 8365-096935", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Rachel", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "rachel_514@partiesunited.co", "phone": "+91 9965-186958", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Raymond", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "raymond@generic_indian.in", "phone": "+91 6784-916094", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Catherine", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "catherine-601@redis.rs", "phone": "+91 8330-882492", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Patrick", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "patrick-622@yahoo.co.in", "phone": "+91 7594-725819", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Carolyn", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "carolyn-466@generic_indian.in", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jack", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jack-640@generic_indian.in", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Janet", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "janet-760@partiesunited.co", "phone": "+91 7252-043072", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Dennis", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "dennis_81@gmail.com", "phone": "+91 9461-535482", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Ruth", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "ruth-611@partiesunited.co", "phone": "+91 8959-614592", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jerry", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jerry.518@yahoo.co.in", "phone": "+91 9123-649030", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Maria", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "maria.299@redis.rs", "phone": "+91 9687-298902", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Tyler", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "tyler.215@gmail.com", "phone": "+91 6765-553393", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Heather", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "heather-956@redis.rs", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Aaron", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "aaron_383@gmail.com", "phone": "+91 6076-015156", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Diane", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "diane_350@gmail.com", "phone": "+91 7462-322376", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jose", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jose-947@generic_indian.in", "phone": "+91 6194-056675", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Virginia", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 6301-631552", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Adam", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "adam-130@generic_indian.in", "phone": "+91 9800-873022", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Julie", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "julie-333@yahoo.co.in", "phone": "+91 6659-434111", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Henry", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "henry@generic_indian.in", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Joyce", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "joyce_494@partiesunited.co", "phone": "+91 7744-359088", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Nathan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "nathan-933@partiesunited.co", "phone": "+91 9115-768363", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Victoria", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "victoria.328@redis.rs", "phone": "+91 6493-123642", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Douglas", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "douglas_267@redis.rs", "phone": "+91 6720-749237", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Olivia", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "olivia-549@generic_indian.in", "phone": "+91 7797-704174", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Zachary", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "zachary-203@generic_indian.in", "phone": "+91 9685-059823", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Kelly", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "kelly-564@redis.rs", "phone": "+91 6234-293587", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Peter", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "peter-340@yahoo.co.in", "phone": "+91 8149-678841", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Kyle", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "kyle.260@gmail.com", "phone": "+91 7182-108922", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Lauren", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "lauren.8@yahoo.co.in", "phone": "+91 8460-088373", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Walter", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "walter.907@gmail.com", "phone": "+91 8254-010872", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Joan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "joan_650@generic_indian.in", "phone": "+91 6003-673443", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Ethan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "ethan.526@generic_indian.in", "phone": "+91 9442-752228", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Evelyn", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "evelyn.107@redis.rs", "phone": "+91 9222-443000", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jeremy", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jeremy_209@generic_indian.in", "phone": "+91 9408-935791", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Judith", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "judith_703@redis.rs", "phone": "+91 9995-636649", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Harold", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "harold-414@yahoo.co.in", "phone": "+91 9659-145174", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Megan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "megan@redis.rs", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Keith", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "keith@yahoo.co.in", "phone": "+91 8989-391625", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Cheryl", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "cheryl-747@redis.rs", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Christian", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "christian.228@gmail.com", "phone": "+91 9562-383440", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Andrea", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "andrea-309@gmail.com", "phone": "+91 6733-480461", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Roger", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "roger_565@redis.rs", "phone": "+91 6314-629890", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Hannah", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "hannah_364@generic_indian.in", "phone": "+91 7736-658408", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Noah", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "noah-946@gmail.com", "phone": "+91 8027-306313", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Martha", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 9785-077655", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Gerald", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "gerald.354@yahoo.co.in", "phone": "+91 9497-574913", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Jacqueline", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jacqueline-382@partiesunited.co", "phone": "+91 7043-234053", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Carl", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "carl_341@partiesunited.co", "phone": "+91 8812-115615", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Frances", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "frances_355@gmail.com", "phone": "+91 9054-407598", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Terry", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 6387-710013", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Gloria", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "gloria.799@redis.rs", "phone": "+91 8797-429670", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Sean", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "sean_73@gmail.com", "phone": "+91 8427-861481", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Ann", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "ann_912@yahoo.co.in", "phone": "+91 9385-716140", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Austin", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "austin.678@gmail.com", "phone": "+91 6045-642747", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Teresa", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 7076-371232", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Arthur", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "arthur.822@gmail.com", "phone": "+91 8881-783525", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Kathryn", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "kathryn-603@gmail.com", "phone": "+91 7932-982026", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Lawrence", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "lawrence_129@generic_indian.in", "phone": "+91 9812-545509", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Sara", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "sara@yahoo.co.in", "phone": "+91 6009-874805", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jesse", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jesse.78@gmail.com", "phone": "+91 6760-743479", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Janice", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "janice.495@redis.rs", "phone": "+91 7092-191443", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Dylan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "dylan.30@redis.rs", "phone": "+91 8967-598834", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jean", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jean-531@partiesunited.co", "phone": "+91 8169-759257", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Bryan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "bryan-459@redis.rs", "phone": "+91 9647-121952", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Alice", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "alice-175@yahoo.co.in", "phone": "+91 6454-520472", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Joe", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "joe@yahoo.co.in", "phone": "+91 9638-522193", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Madison", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "madison-518@partiesunited.co", "phone": "+91 7305-596248", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jordan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jordan_10@yahoo.co.in", "phone": "+91 6726-448100", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Doris", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "doris-269@redis.rs", "phone": "+91 9171-162126", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Billy", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "billy@generic_indian.in", "phone": "+91 9208-612407", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Abigail", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "abigail.731@generic_indian.in", "phone": "+91 6830-093346", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Bruce", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "bruce-398@partiesunited.co", "phone": "+91 9435-070909", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Julia", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 6592-024845", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Albert", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "albert@yahoo.co.in", "phone": "+91 6406-174202", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Judy", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "judy.987@yahoo.co.in", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Willie", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "willie_337@generic_indian.in", "phone": "+91 7520-743677", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Grace", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "grace_297@yahoo.co.in", "phone": "+91 7316-247530", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Gabriel", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "gabriel_526@yahoo.co.in", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Denise", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "denise@gmail.com", "phone": "+91 8133-719930", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Logan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "logan-148@yahoo.co.in", "phone": "+91 9399-697849", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Amber", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "amber-306@redis.rs", "phone": "+91 7622-921929", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Alan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "alan-174@redis.rs", "phone": "+91 8924-088014", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Marilyn", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "marilyn.188@yahoo.co.in", "phone": "+91 7936-027760", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Juan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "juan_88@redis.rs", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Beverly", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "beverly.429@partiesunited.co", "phone": "+91 9319-019163", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Wayne", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "wayne.248@generic_indian.in", "phone": "+91 6307-827364", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Danielle", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "danielle.602@partiesunited.co", "phone": "+91 7885-866986", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Roy", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "roy_794@redis.rs", "phone": "+91 8511-570498", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Theresa", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "theresa_330@yahoo.co.in", "phone": "+91 6394-578237", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Ralph", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "ralph_837@yahoo.co.in", "phone": "+91 9973-097921", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Sophia", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "sophia_430@partiesunited.co", "phone": "+91 9914-756832", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Randy", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "randy-187@gmail.com", "phone": "+91 7553-323773", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Marie", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "marie_949@generic_indian.in", "phone": "+91 9584-722241", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Eugene", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "eugene_49@generic_indian.in", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Diana", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "diana_424@generic_indian.in", "phone": "+91 7682-534386", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Vincent", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "vincent-832@yahoo.co.in", "phone": "+91 9733-825837", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Brittany", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "brittany-933@generic_indian.in", "phone": "+91 8279-322638", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Russell", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "russell-225@generic_indian.in", "phone": "+91 7289-620267", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Natalie", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "natalie_769@generic_indian.in", "phone": "+91 9110-784610", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Elijah", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "elijah@gmail.com", "phone": "+91 9566-594853", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Isabella", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 8864-421179", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Louis", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "louis_827@yahoo.co.in", "phone": "+91 7326-663215", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Charlotte", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "charlotte.746@redis.rs", "phone": "+91 6613-120888", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Bobby", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "bobby-771@yahoo.co.in", "phone": "+91 6805-102693", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Rose", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "rose.459@yahoo.co.in", "phone": "+91 6094-891120", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Philip", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "philip_64@partiesunited.co", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Alexis", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "alexis-127@yahoo.co.in", "phone": "+91 6283-621956", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Johnny", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 7552-522002", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Kayla", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "kayla_622@generic_indian.in", "phone": "+91 9442-288182", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Janky Office Spaces", "role": "Supplier", "defaultAccount": "Creditors", "currency": "INR", "email": "janky_office_spaces.8@yahoo.co.in", "phone": "+91 6163-603540", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Josf\u00e9\u00f1a's 611s", "role": "Supplier", "defaultAccount": "Creditors", "currency": "INR", "email": "josf\u00e9\u00f1a's.611s-187@redis.rs", "phone": "+91 8049-040228", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Lankness Feet Fomenters", "role": "Supplier", "defaultAccount": "Creditors", "currency": "INR", "email": "lankness.feet.fomenters_920@partiesunited.co", "phone": "+91 6366-746997", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "The Overclothes Company", "role": "Supplier", "defaultAccount": "Creditors", "currency": "INR", "email": "the.overclothes.company_154@partiesunited.co", "phone": "+91 7361-295433", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Adani Electricity Mumbai Limited ", "role": "Supplier", "defaultAccount": "Creditors", "currency": "INR", "email": "adani.electricity.mumbai.limited.-597@redis.rs", "phone": "+91 7651-069128", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Only Fulls", "role": "Supplier", "defaultAccount": "Creditors", "currency": "INR", "email": "only-fulls@gmail.com", "phone": "+91 7179-901187", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Just Epaulettes", "role": "Supplier", "defaultAccount": "Creditors", "currency": "INR", "email": "just.epaulettes_184@gmail.com", "phone": "+91 6562-362537", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Maxwell", "role": "Both", "defaultAccount": null, "currency": "INR", "email": "maxwell@partiesunited.co", "phone": "+91 8157-631915", "address": null, "gst_type": "Unregistered", "gstin": null}] \ No newline at end of file +[{"name": "Roy Rolston", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "roy-rolston.243@generic_indian.in", "phone": "+91 8673-431508", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Aloysius Albuquerque", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "aloysius.albuquerque_909@gmail.com", "phone": "+91 6077-213977", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "James", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "james_133@generic_indian.in", "phone": "+91 6612-501211", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Mary", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 6081-020316", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Robert", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "robert_434@generic_indian.in", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Patricia", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "patricia_100@partiesunited.co", "phone": "+91 8559-301636", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "John", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "john_411@partiesunited.co", "phone": "+91 8025-338366", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jennifer", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jennifer_308@generic_indian.in", "phone": "+91 8011-889773", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Michael", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "michael-851@redis.rs", "phone": "+91 9051-544006", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Linda", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "linda-316@yahoo.co.in", "phone": "+91 8521-103184", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "William", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "william_825@gmail.com", "phone": "+91 7872-683669", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Elizabeth", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "elizabeth.119@gmail.com", "phone": "+91 8762-458159", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "David", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "david_976@redis.rs", "phone": "+91 8107-285956", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Barbara", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "barbara.781@partiesunited.co", "phone": "+91 9315-603377", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Richard", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "richard.37@yahoo.co.in", "phone": "+91 6932-849598", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Susan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "susan.782@redis.rs", "phone": "+91 7802-101844", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Joseph", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "joseph@partiesunited.co", "phone": "+91 7993-701055", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jessica", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jessica-498@gmail.com", "phone": "+91 6288-147387", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Thomas", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "thomas-831@yahoo.co.in", "phone": "+91 6150-277307", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Sarah", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "sarah-821@gmail.com", "phone": "+91 7834-468508", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Charles", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "charles-440@generic_indian.in", "phone": "+91 9652-716987", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Karen", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "karen_745@generic_indian.in", "phone": "+91 8031-054884", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Christopher", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "christopher_856@yahoo.co.in", "phone": "+91 8054-054595", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Nancy", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "nancy_876@partiesunited.co", "phone": "+91 9623-437324", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Daniel", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Lisa", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "lisa.763@yahoo.co.in", "phone": "+91 7425-212962", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Matthew", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "matthew.769@generic_indian.in", "phone": "+91 7585-335288", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Betty", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "betty.954@generic_indian.in", "phone": "+91 8910-292787", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Anthony", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "anthony_135@redis.rs", "phone": "+91 6442-915158", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Margaret", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "margaret@yahoo.co.in", "phone": "+91 9900-176473", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Mark", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "mark-313@redis.rs", "phone": "+91 6425-429890", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Sandra", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 7184-095331", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Donald", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "donald@gmail.com", "phone": "+91 8599-995758", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Ashley", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "ashley.442@generic_indian.in", "phone": "+91 9702-537030", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Steven", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "steven-693@yahoo.co.in", "phone": "+91 9024-337715", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Kimberly", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "kimberly_316@gmail.com", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Paul", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "paul_553@gmail.com", "phone": "+91 8896-498910", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Emily", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "emily.859@redis.rs", "phone": "+91 9537-954916", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Andrew", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "andrew.21@partiesunited.co", "phone": "+91 7061-410554", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Donna", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "donna_209@yahoo.co.in", "phone": "+91 6918-117768", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Joshua", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "joshua.54@partiesunited.co", "phone": "+91 7997-664425", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Michelle", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "michelle-558@partiesunited.co", "phone": "+91 7234-792697", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Kenneth", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "kenneth.124@partiesunited.co", "phone": "+91 6388-353257", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Dorothy", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "dorothy.722@yahoo.co.in", "phone": "+91 8768-999569", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Kevin", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "kevin.700@partiesunited.co", "phone": "+91 9947-180680", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Carol", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "carol_967@partiesunited.co", "phone": "+91 7690-935998", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Brian", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "brian.135@generic_indian.in", "phone": "+91 6760-645133", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Amanda", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "amanda_465@gmail.com", "phone": "+91 9374-006670", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "George", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "george-684@gmail.com", "phone": "+91 7865-482442", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Melissa", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "melissa-92@gmail.com", "phone": "+91 9276-351947", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Edward", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "edward-724@redis.rs", "phone": "+91 8878-239777", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Deborah", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "deborah-948@gmail.com", "phone": "+91 9971-174980", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Ronald", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "ronald.712@yahoo.co.in", "phone": "+91 8660-547203", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Stephanie", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "stephanie_503@yahoo.co.in", "phone": "+91 9686-335218", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Timothy", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "timothy-659@redis.rs", "phone": "+91 9242-666484", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Rebecca", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "rebecca.909@generic_indian.in", "phone": "+91 6157-734755", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jason", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jason.519@redis.rs", "phone": "+91 7376-163583", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Sharon", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "sharon@partiesunited.co", "phone": "+91 9030-867592", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jeffrey", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jeffrey.269@redis.rs", "phone": "+91 6155-787954", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Laura", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "laura-507@yahoo.co.in", "phone": "+91 9275-073654", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Ryan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "ryan-197@generic_indian.in", "phone": "+91 6964-549642", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Cynthia", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "cynthia_737@redis.rs", "phone": "+91 7151-704445", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jacob", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jacob.131@generic_indian.in", "phone": "+91 6720-918848", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Kathleen", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "kathleen.509@gmail.com", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Gary", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "gary_422@gmail.com", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Amy", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "amy@partiesunited.co", "phone": "+91 6603-938674", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Nicholas", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "nicholas_902@generic_indian.in", "phone": "+91 6916-877233", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Shirley", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "shirley.680@yahoo.co.in", "phone": "+91 8031-368297", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Eric", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "eric_294@yahoo.co.in", "phone": "+91 8000-105404", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Angela", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "angela-786@partiesunited.co", "phone": "+91 6472-464465", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jonathan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jonathan_247@gmail.com", "phone": "+91 9606-808217", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Helen", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "helen-896@redis.rs", "phone": "+91 9292-092553", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Stephen", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "stephen_570@redis.rs", "phone": "+91 7075-893154", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Anna", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "anna-892@partiesunited.co", "phone": "+91 9984-317917", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Larry", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 6981-350385", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Brenda", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "brenda_857@redis.rs", "phone": "+91 9048-980115", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Justin", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "justin_87@partiesunited.co", "phone": "+91 6562-623759", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Pamela", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "pamela-143@partiesunited.co", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Scott", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 7065-102356", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Nicole", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "nicole_813@yahoo.co.in", "phone": "+91 6639-036774", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Brandon", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Emma", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "emma@generic_indian.in", "phone": "+91 9754-565236", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Benjamin", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "benjamin.607@generic_indian.in", "phone": "+91 6050-030214", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Samantha", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "samantha_307@partiesunited.co", "phone": "+91 7580-455682", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Samuel", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "samuel_241@partiesunited.co", "phone": "+91 6069-872786", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Katherine", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "katherine-577@yahoo.co.in", "phone": "+91 9997-474009", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Gregory", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "gregory_127@redis.rs", "phone": "+91 7253-710783", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Christine", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "christine@generic_indian.in", "phone": "+91 6293-485105", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Frank", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "frank_483@generic_indian.in", "phone": "+91 6108-326068", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Debra", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "debra.627@redis.rs", "phone": "+91 9828-819615", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Alexander", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "alexander-930@generic_indian.in", "phone": "+91 7739-815431", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Rachel", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "rachel-974@generic_indian.in", "phone": "+91 8208-032828", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Raymond", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "raymond@generic_indian.in", "phone": "+91 6157-997059", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Catherine", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "catherine-558@gmail.com", "phone": "+91 6483-743758", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Patrick", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "patrick-219@redis.rs", "phone": "+91 9461-091027", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Carolyn", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 7096-205664", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jack", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jack_834@yahoo.co.in", "phone": "+91 9824-334265", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Janet", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "janet.630@yahoo.co.in", "phone": "+91 9343-312052", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Dennis", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "dennis-885@generic_indian.in", "phone": "+91 6595-499139", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Ruth", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "ruth_748@redis.rs", "phone": "+91 6129-548924", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jerry", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jerry-737@redis.rs", "phone": "+91 6587-158112", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Maria", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 8540-576184", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Tyler", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "tyler.608@yahoo.co.in", "phone": "+91 8120-401026", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Heather", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "heather.936@yahoo.co.in", "phone": "+91 7403-810842", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Aaron", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "aaron-848@partiesunited.co", "phone": "+91 6903-123806", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Diane", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "diane_524@yahoo.co.in", "phone": "+91 6848-481723", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jose", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 7697-063913", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Virginia", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Adam", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "adam-315@gmail.com", "phone": "+91 7901-689261", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Julie", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "julie.230@redis.rs", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Henry", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "henry@redis.rs", "phone": "+91 9768-025008", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Joyce", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "joyce.11@redis.rs", "phone": "+91 8242-739499", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Nathan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "nathan@yahoo.co.in", "phone": "+91 8308-038476", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Victoria", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "victoria_754@redis.rs", "phone": "+91 8148-203319", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Douglas", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "douglas_697@yahoo.co.in", "phone": "+91 8502-237693", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Olivia", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "olivia_85@partiesunited.co", "phone": "+91 6223-560874", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Zachary", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "zachary_505@gmail.com", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Kelly", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "kelly_210@yahoo.co.in", "phone": "+91 8087-195915", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Peter", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "peter.799@yahoo.co.in", "phone": "+91 8125-227555", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Kyle", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "kyle_373@yahoo.co.in", "phone": "+91 7395-383762", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Lauren", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "lauren_877@gmail.com", "phone": "+91 9360-951111", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Walter", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "walter@gmail.com", "phone": "+91 9514-260980", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Joan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "joan-490@generic_indian.in", "phone": "+91 8336-845169", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Ethan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "ethan.413@yahoo.co.in", "phone": "+91 9179-041456", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Evelyn", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "evelyn-598@redis.rs", "phone": "+91 7981-294172", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jeremy", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jeremy-835@redis.rs", "phone": "+91 9147-220263", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Judith", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "judith.20@yahoo.co.in", "phone": "+91 7251-751246", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Harold", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "harold_551@redis.rs", "phone": "+91 9401-384317", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Megan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "megan.904@generic_indian.in", "phone": "+91 7925-884527", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Keith", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "keith_210@gmail.com", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Cheryl", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "cheryl.732@yahoo.co.in", "phone": "+91 9487-572037", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Christian", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "christian_480@yahoo.co.in", "phone": "+91 9411-240949", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Andrea", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "andrea@generic_indian.in", "phone": "+91 8727-997312", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Roger", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "roger_641@redis.rs", "phone": "+91 7473-818935", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Hannah", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "hannah.769@yahoo.co.in", "phone": "+91 6686-668901", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Noah", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "noah_207@yahoo.co.in", "phone": "+91 8992-301729", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Martha", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "martha-310@yahoo.co.in", "phone": "+91 6313-479933", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Gerald", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "gerald_179@yahoo.co.in", "phone": "+91 9887-686162", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jacqueline", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jacqueline@gmail.com", "phone": "+91 8593-840483", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Carl", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "carl.824@redis.rs", "phone": "+91 9097-819761", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Frances", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "frances_39@partiesunited.co", "phone": "+91 7824-282142", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Terry", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "terry.141@gmail.com", "phone": "+91 7348-035379", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Gloria", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "gloria_30@yahoo.co.in", "phone": "+91 8806-055737", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Sean", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "sean_95@gmail.com", "phone": "+91 8934-646432", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Ann", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "ann_288@yahoo.co.in", "phone": "+91 9000-981649", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Austin", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 9052-505694", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Teresa", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "teresa@redis.rs", "phone": "+91 8881-147169", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Arthur", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "arthur_297@generic_indian.in", "phone": "+91 7099-547700", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Kathryn", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "kathryn-111@partiesunited.co", "phone": "+91 8094-478845", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Lawrence", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "lawrence-786@generic_indian.in", "phone": "+91 6605-548110", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Sara", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "sara_839@generic_indian.in", "phone": "+91 9246-881823", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jesse", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jesse.754@redis.rs", "phone": "+91 9735-507412", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Janice", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "janice.373@yahoo.co.in", "phone": "+91 6024-331463", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Dylan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 9281-407234", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jean", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jean.752@redis.rs", "phone": "+91 9760-343923", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Bryan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "bryan-366@gmail.com", "phone": "+91 7075-562308", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Alice", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "alice_184@partiesunited.co", "phone": "+91 9859-541927", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Joe", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "joe_938@redis.rs", "phone": "+91 8006-110462", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Madison", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "madison-73@generic_indian.in", "phone": "+91 9678-686103", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Jordan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "jordan_36@generic_indian.in", "phone": "+91 8632-788053", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Doris", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "doris.619@partiesunited.co", "phone": "+91 6587-381586", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Billy", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "billy-142@redis.rs", "phone": "+91 9406-093375", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Abigail", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "abigail-990@redis.rs", "phone": "+91 9206-424202", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Bruce", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "bruce-731@yahoo.co.in", "phone": "+91 7316-922695", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Julia", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "julia-342@gmail.com", "phone": "+91 9487-215411", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Albert", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 9968-538377", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Judy", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "judy_273@partiesunited.co", "phone": "+91 7531-535899", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Willie", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "willie.643@yahoo.co.in", "phone": "+91 6099-745727", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Grace", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 8615-872677", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Gabriel", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "gabriel-143@partiesunited.co", "phone": "+91 7176-396024", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Denise", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": null, "phone": "+91 9742-780556", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Logan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "logan-501@partiesunited.co", "phone": "+91 7502-995330", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Amber", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "amber_656@partiesunited.co", "phone": "+91 6443-649379", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Alan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "alan.559@partiesunited.co", "phone": "+91 9366-429457", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Marilyn", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "marilyn-955@gmail.com", "phone": "+91 7325-781593", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Juan", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "juan.265@gmail.com", "phone": "+91 7281-553316", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Beverly", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "beverly.942@gmail.com", "phone": "+91 9131-160413", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Wayne", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "wayne_126@generic_indian.in", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Danielle", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "danielle@generic_indian.in", "phone": "+91 7340-384768", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Roy", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "roy_727@gmail.com", "phone": "+91 7704-501835", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Theresa", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "theresa_105@partiesunited.co", "phone": "+91 9967-448938", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Ralph", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "ralph@gmail.com", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Sophia", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "sophia-673@generic_indian.in", "phone": "+91 8223-607553", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Randy", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "randy_860@generic_indian.in", "phone": "+91 6169-701291", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Marie", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "marie-30@gmail.com", "phone": "+91 9268-326999", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Eugene", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "eugene.184@partiesunited.co", "phone": "+91 9559-021953", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Diana", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "diana-382@gmail.com", "phone": "+91 9924-520313", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Vincent", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "vincent@gmail.com", "phone": "+91 8501-753300", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Brittany", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "brittany-498@redis.rs", "phone": null, "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Russell", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "russell-231@generic_indian.in", "phone": "+91 9483-010961", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Natalie", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "natalie.274@partiesunited.co", "phone": "+91 9173-621005", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Elijah", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "elijah-297@generic_indian.in", "phone": "+91 6003-986454", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Isabella", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "isabella_744@gmail.com", "phone": "+91 8748-767047", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Louis", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "louis.458@yahoo.co.in", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Charlotte", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "charlotte_854@gmail.com", "phone": "+91 8977-318168", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Bobby", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "bobby-848@gmail.com", "phone": "+91 7823-275321", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Rose", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "rose-115@yahoo.co.in", "phone": "+91 9256-804668", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Philip", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "philip.671@generic_indian.in", "phone": "+91 9883-666803", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Alexis", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "alexis.502@partiesunited.co", "phone": null, "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Johnny", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "johnny-539@redis.rs", "phone": "+91 7375-255292", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Kayla", "role": "Customer", "defaultAccount": "Debtors", "currency": "INR", "email": "kayla.143@generic_indian.in", "phone": "+91 8955-753462", "address": null, "gst_type": "Consumer", "gstin": null}, {"name": "Le Socials", "role": "Supplier", "defaultAccount": "Creditors", "currency": "INR", "email": "le-socials_303@partiesunited.co", "phone": "+91 7291-372570", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Janky Office Spaces", "role": "Supplier", "defaultAccount": "Creditors", "currency": "INR", "email": "janky_office_spaces@generic_indian.in", "phone": "+91 6940-107991", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Josf\u00e9\u00f1a's 611s", "role": "Supplier", "defaultAccount": "Creditors", "currency": "INR", "email": "josf\u00e9\u00f1a's_611s.655@partiesunited.co", "phone": "+91 6457-794213", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Lankness Feet Fomenters", "role": "Supplier", "defaultAccount": "Creditors", "currency": "INR", "email": "lankness.feet.fomenters_579@generic_indian.in", "phone": "+91 6656-484318", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "The Overclothes Company", "role": "Supplier", "defaultAccount": "Creditors", "currency": "INR", "email": "the-overclothes-company.136@partiesunited.co", "phone": "+91 7766-798598", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Adani Electricity Mumbai Limited", "role": "Supplier", "defaultAccount": "Creditors", "currency": "INR", "email": "adani-electricity-mumbai-limited_190@redis.rs", "phone": "+91 7465-683036", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Only Fulls", "role": "Supplier", "defaultAccount": "Creditors", "currency": "INR", "email": "only_fulls.358@generic_indian.in", "phone": "+91 6685-388192", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Just Epaulettes", "role": "Supplier", "defaultAccount": "Creditors", "currency": "INR", "email": "just-epaulettes_400@partiesunited.co", "phone": "+91 7847-418151", "address": null, "gst_type": "Registered Regular", "gstin": null}, {"name": "Maxwell", "role": "Both", "defaultAccount": null, "currency": "INR", "email": "maxwell-757@partiesunited.co", "phone": "+91 8178-647022", "address": null, "gst_type": "Unregistered", "gstin": null}] \ No newline at end of file diff --git a/dummy/tests/testDummy.spec.ts b/dummy/tests/testDummy.spec.ts index 0971ad81..4a1f37e3 100644 --- a/dummy/tests/testDummy.spec.ts +++ b/dummy/tests/testDummy.spec.ts @@ -1,12 +1,14 @@ +import * as assert from 'assert'; import { DatabaseManager } from 'backend/database/manager'; import { assertDoesNotThrow } from 'backend/database/tests/helpers'; +import { purchaseItemPartyMap } from 'dummy/helpers'; import { Fyo } from 'fyo'; import { DummyAuthDemux } from 'fyo/tests/helpers'; import 'mocha'; import { getTestDbPath } from 'tests/helpers'; import { setupDummyInstance } from '..'; -describe('dummy', function () { +describe.skip('dummy', function () { const dbPath = getTestDbPath(); let fyo: Fyo; @@ -28,5 +30,20 @@ describe('dummy', function () { await assertDoesNotThrow(async () => { await setupDummyInstance(dbPath, fyo); }, 'setup instance failed'); - }); + + for (const item in purchaseItemPartyMap) { + assert.strictEqual( + await fyo.db.exists('Item', item), + true, + `not found ${item}` + ); + + const party = purchaseItemPartyMap[item]; + assert.strictEqual( + await fyo.db.exists('Party', party), + true, + `not found ${party}` + ); + } + }).timeout(120_000); }); diff --git a/fyo/core/converter.ts b/fyo/core/converter.ts index 1794b1a4..09d51296 100644 --- a/fyo/core/converter.ts +++ b/fyo/core/converter.ts @@ -156,6 +156,10 @@ function toDocString(value: RawValue, field: Field) { return null; } + if (value === undefined) { + return null; + } + if (typeof value === 'string') { return value; } @@ -362,6 +366,10 @@ function toRawString(value: DocValue, field: Field): string | null { return null; } + if (value === undefined) { + return null; + } + if (typeof value === 'string') { return value; } diff --git a/fyo/core/dbHandler.ts b/fyo/core/dbHandler.ts index 09158cee..87c1bc5f 100644 --- a/fyo/core/dbHandler.ts +++ b/fyo/core/dbHandler.ts @@ -1,6 +1,7 @@ import { SingleValue } from 'backend/database/types'; import { Fyo } from 'fyo'; import { DatabaseDemux } from 'fyo/demux/db'; +import { ValueError } from 'fyo/utils/errors'; import Observable from 'fyo/utils/observable'; import { Field, RawValue, SchemaMap } from 'schemas/types'; import { getMapFromList } from 'utils'; @@ -208,6 +209,20 @@ export class DatabaseHandler extends DatabaseBase { * * The query logic for these is in backend/database/bespoke.ts */ + + async getLastInserted(schemaName: string): Promise { + if (this.schemaMap[schemaName]?.naming !== 'autoincrement') { + throw new ValueError( + `invalid schema, ${schemaName} does not have autoincrement naming` + ); + } + + return (await this.#demux.callBespoke( + 'getLastInserted', + schemaName + )) as number; + } + async getTopExpenses(fromDate: string, toDate: string): Promise { return (await this.#demux.callBespoke( 'getTopExpenses', diff --git a/fyo/model/doc.ts b/fyo/model/doc.ts index fd02c0e7..e1890b2b 100644 --- a/fyo/model/doc.ts +++ b/fyo/model/doc.ts @@ -63,6 +63,7 @@ export class Doc extends Observable { _dirty: boolean = true; _notInserted: boolean = true; + _syncing = false; constructor(schema: Schema, data: DocValueMap, fyo: Fyo) { super(); this.fyo = markRaw(fyo); @@ -117,6 +118,10 @@ export class Doc extends Observable { return !!this.submitted && !!this.cancelled; } + get syncing() { + return this._syncing; + } + _setValuesWithoutChecks(data: DocValueMap) { for (const field of this.schema.fields) { const fieldname = field.fieldname; @@ -628,6 +633,7 @@ export class Doc extends Observable { } async sync(): Promise { + this._syncing = true; await this.trigger('beforeSync'); let doc; if (this.notInserted) { @@ -638,6 +644,7 @@ export class Doc extends Observable { this._notInserted = false; await this.trigger('afterSync'); this.fyo.doc.observer.trigger(`sync:${this.schemaName}`, this.name); + this._syncing = false; return doc; } diff --git a/fyo/model/naming.ts b/fyo/model/naming.ts index 6eba9b07..714657d3 100644 --- a/fyo/model/naming.ts +++ b/fyo/model/naming.ts @@ -33,54 +33,33 @@ export async function setName(doc: Doc, fyo: Fyo) { } if (doc.schema.naming === 'autoincrement') { - doc.name = await getNextId(doc.schemaName, fyo); - return; + return (doc.name = await getNextId(doc.schemaName, fyo)); } - // Current, per doc number series - const numberSeries = doc.numberSeries as string | undefined; - if (numberSeries !== undefined) { - doc.name = await getSeriesNext(numberSeries, doc.schemaName, fyo); - return; - } - - if (doc.name) { - return; + if (doc.numberSeries !== undefined) { + return (doc.name = await getSeriesNext( + doc.numberSeries as string, + doc.schemaName, + fyo + )); } // name === schemaName for Single if (doc.schema.isSingle) { - doc.name = doc.schemaName; - return; + return (doc.name = doc.schemaName); } - // assign a random name by default - // override doc to set a name + // Assign a random name by default if (!doc.name) { doc.name = getRandomString(); } + + return doc.name; } -export async function getNextId(schemaName: string, fyo: Fyo) { - // get the last inserted row - const lastInserted = await getLastInserted(schemaName, fyo); - let name = 1; - if (lastInserted) { - let lastNumber = parseInt(lastInserted.name as string); - if (isNaN(lastNumber)) lastNumber = 0; - name = lastNumber + 1; - } - return (name + '').padStart(9, '0'); -} - -export async function getLastInserted(schemaName: string, fyo: Fyo) { - const lastInserted = await fyo.db.getAll(schemaName, { - fields: ['name'], - limit: 1, - orderBy: 'created', - order: 'desc', - }); - return lastInserted && lastInserted.length ? lastInserted[0] : null; +export async function getNextId(schemaName: string, fyo: Fyo): Promise { + const lastInserted = await fyo.db.getLastInserted(schemaName); + return String(lastInserted + 1).padStart(9, '0'); } export async function getSeriesNext( diff --git a/fyo/utils/index.ts b/fyo/utils/index.ts index ba7bb131..f2be03c0 100644 --- a/fyo/utils/index.ts +++ b/fyo/utils/index.ts @@ -13,12 +13,6 @@ export function slug(str: string) { .replace(/\s+/g, ''); } -export function range(n: number) { - return Array(n) - .fill(null) - .map((_, i) => i); -} - export function unique(list: T[], key = (it: T) => String(it)) { const seen: Record = {}; return list.filter((item) => { diff --git a/models/Transactional/Transactional.ts b/models/Transactional/Transactional.ts index fc0f2dc5..cef4116e 100644 --- a/models/Transactional/Transactional.ts +++ b/models/Transactional/Transactional.ts @@ -20,6 +20,8 @@ import { LedgerPosting } from './LedgerPosting'; */ export abstract class Transactional extends Doc { + date?: Date; + get isTransactional() { return true; } @@ -27,25 +29,25 @@ export abstract class Transactional extends Doc { abstract getPosting(): Promise; async validate() { - super.validate(); + await super.validate(); const posting = await this.getPosting(); posting.validate(); } async afterSubmit(): Promise { - super.afterSubmit(); + await super.afterSubmit(); const posting = await this.getPosting(); await posting.post(); } async afterCancel(): Promise { - super.afterCancel(); + await super.afterCancel(); const posting = await this.getPosting(); await posting.postReverse(); } async afterDelete(): Promise { - super.afterDelete(); + await super.afterDelete(); const ledgerEntryIds = (await this.fyo.db.getAll( ModelNameEnum.AccountingLedgerEntry, { diff --git a/models/baseModels/InvoiceItem/InvoiceItem.ts b/models/baseModels/InvoiceItem/InvoiceItem.ts index d1675083..e1564129 100644 --- a/models/baseModels/InvoiceItem/InvoiceItem.ts +++ b/models/baseModels/InvoiceItem/InvoiceItem.ts @@ -7,6 +7,7 @@ import { Invoice } from '../Invoice/Invoice'; export abstract class InvoiceItem extends Doc { account?: string; + amount?: Money; baseAmount?: Money; exchangeRate?: number; parentdoc?: Invoice; diff --git a/models/helpers.ts b/models/helpers.ts index 0f3103ad..fed50a7b 100644 --- a/models/helpers.ts +++ b/models/helpers.ts @@ -17,7 +17,7 @@ export function getInvoiceActions( condition: (doc: Doc) => doc.isSubmitted && !(doc.outstandingAmount as Money).isZero(), action: async function makePayment(doc: Doc) { - const payment = await fyo.doc.getNewDoc('Payment'); + const payment = fyo.doc.getNewDoc('Payment'); payment.once('afterSync', async () => { await payment.submit(); }); diff --git a/models/types.ts b/models/types.ts index 6d7bb13a..535f314e 100644 --- a/models/types.ts +++ b/models/types.ts @@ -29,3 +29,5 @@ export enum ModelNameEnum { SingleValue = 'SingleValue', SystemSettings = 'SystemSettings', } + +export type ModelName = keyof typeof ModelNameEnum \ No newline at end of file diff --git a/src/renderer.ts b/src/renderer.ts index 51cb3e8c..ed958626 100644 --- a/src/renderer.ts +++ b/src/renderer.ts @@ -1,5 +1,6 @@ import { ipcRenderer } from 'electron'; import { ConfigKeys } from 'fyo/core/types'; +import { DateTime } from 'luxon'; import { IPC_ACTIONS } from 'utils/messages'; import { App as VueApp, createApp } from 'vue'; import App from './App.vue'; @@ -105,3 +106,6 @@ function setOnWindow() { window.fyo = fyo; } } + +// @ts-ignore +window.DateTime = DateTime;