PageSourceSearch

https://vizops360.ai/assets/financeImportParse-DTb6d-yn.js

js vizops360.ai collected 2026-10-05 13:52:36 UTC 14,998 bytes, 10 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/expenseExcelTemplates-CuEjT3WL.js","assets/excelUtils-B6c4w-tr.js","assets/index-CpeGhXo5.js","assets/index-DPKYDu8W.css","assets/expenseDraft-DqR0Jp71.js"])))=>i.map(i=>d[i]);
2import{dh as L}from"./index-CpeGhXo5.js";import{p as I}from"./employeeImportParse-C0zECibb.js";import{a as J}from"./employeeImportParse-C0zECibb.js";import"./excelUtils-B6c4w-tr.js";const T=[{key:"date",label:"Date (YYYY-MM-DD)",required:!0},{key:"invoiceNo",label:"Invoice No",required:!0},{key:"client",label:"Client",required:!0},{key:"project",label:"Project",required:!1},{key:"department",label:"Department",required:!1},{key:"team",label:"Team",required:!1},{key:"employeeName",label:"Employee Name",required:!1},{key:"employeeEmpCode",label:"Employee ID",required:!1},{key:"salesPersonName",label:"Sales Person Name",required:!1},{key:"salesPersonEmpCode",label:"Sales Person ID",required:!1},{key:"company",label:"Company",required:!1},{key:"gross",label:"Gross",required:!0},{key:"tax",label:"Tax",required:!1},{key:"net",label:"Net",required:!1},{key:"status",label:"Status",required:!1}],M=[{key:"date",label:"Expense Date (YYYY-MM-DD)",required:!0},{key:"voucherNo",label:"Voucher / Ref No",required:!0},{key:"expenseType",label:"Expense Type (Fixed/Variable/etc)",required:!0},{key:"category",label:"Expense Category",required:!0},{key:"subCategory",label:"Sub-Category",required:!1},{key:"recurring",label:"Recurring? (YES/NO)",required:!1},{key:"recurringFrequency",label:"Recurring Frequency",required:!1},{key:"recurringEndDate",label:"Recurring End Date",required:!1},{key:"vendor",label:"Vendor / Payee Name",required:!0},{key:"vendorType",label:"Vendor Type",required:!1},{key:"vendorGstPan",label:"Vendor GST/PAN",required:!1},{key:"vendorContact",label:"Vendor Contact",required:!1},{key:"company",label:"Company",required:!0},{key:"department",label:"Department",required:!1},{key:"team",label:"Team",required:!1},{key:"employeeName",label:"Employee Name",required:!1},{key:"employeeEmpCode",label:"Employee ID",required:!1},{key:"approverName",label:"Approver Name",required:!1},{key:"approverEmpCode",label:"Approver ID",required:!1},{key:"project",label:"Project Name",required:!1},{key:"costCenter",label:"Cost Center",required:!1},{key:"gross",label:"Gross Amount (Base)",required:!0},{key:"currency",label:"Currency",required:!1},{key:"taxApplicable",label:"Tax Applicable? (YES/NO)",required:!1},{key:"taxRate",label:"Tax Rate (%)",required:!1},{key:"tax",label:"Tax Amount",required:!1},{key:"net",label:"Net Amount",required:!0},{key:"paymentStatus",label:"Payment Status (Paid/Pending/etc)",required:!1},{key:"paymentMethod",label:"Payment Mode / Method",required:!0},{key:"bankAccount",label:"Bank Account",required:!1},{key:"connectedCard",label:"Connected Corporate Card",required:!1},{key:"paymentDate",label:"Payment Date",required:!1},{key:"amountPaid",label:"Amount Paid",required:!1},{key:"balanceDue",label:"Balance Due",required:!1},{key:"balanceDueDate",label:"Balance Due Date",required:!1},{key:"advanceReference",label:"Advance Reference",required:!1},{key:"clearsLiability",label:"Clearing Liability? (YES/NO)",required:!1},{key:"linkedLiability",label:"Linked Liability",required:!1},{key:"emiNo",label:"EMI No",required:!1},{key:"description",label:"Description & Notes",required:!1},{key:"tags",label:"Tags",required:!1},{key:"status",label:"Status",required:!1}],F=`Date,Invoice No,Client,Project,Department,Team,Employee Name,Employee ID,Sales Person Name,Sales Person ID,Company,Gross,Tax,Net,Status
32025-04-01,INV-2025-0001,Client Name,Project Name,Department,Team,,,,,Company Name,100000,18000,118000,Paid
4`,Y=`Expense Date (YYYY-MM-DD),Voucher / Ref No,Expense Type,Expense Category,Sub-Category,Recurring? (YES/NO),Recurring Frequency,Recurring End Date,Vendor / Payee Name,Vendor Type,Vendor GST/PAN,Vendor Contact,Company,Department,Team,Employee Name,Employee ID,Approver Name,Approver ID,Project Name,Cost Center,Gross Amount (Base),Currency,Tax Applicable? (YES/NO),Tax Rate (%),Tax Amount,Net Amount,Payment Status,Payment Mode,Bank Account,Connected Corporate Card,Payment Date (YYYY-MM-DD),Amount Paid,Balance Due,Balance Due Date,Advance Reference,Clearing Liability? (YES/NO),Linked Liability,EMI No,Description & Notes,Tags
52026-03-15,EXP-2026-0001,Variable,Software & Subscriptions,SaaS Software,YES,Monthly,2026-12-31,Amazon Web Services (AWS),Supplier,07AAAAA0000A1Z5,[email protected],Tekki Web Solutions Pvt. Ltd.,IT & Production,DevOps Team,Sarbjit Singh Grewal,TWS4161,Pawandeep Kaur Grewal,TWS4160,Internal Cloud Infrastru
5cture,CC-TECH-01,45000,INR,YES,18,8100,53100,Paid,Credit Card,HDFC •• 4521 (Current),Executive Regalia Corporate (••4521),2026-03-15,53100,0,,,NO,,,Monthly server hosting & compute instances,"AWS, Cloud, Servers"
62026-03-10,EXP-2026-0002,Fixed,Rent & Utilities,Office Rent,YES,Monthly,2027-03-31,City Centre Towers Management,Supplier,03ABCDE1234F1Z8,[email protected],Tekki Web Solutions Pvt. Ltd.,Human Resources & Operations,Facility & Admin,Gurcharan Singh Kang,TWS4162,Pawandeep Kaur Grewal,TWS4160,Headquarters Operations,CC-ADMIN-01,125000,INR,YES,18,22500,147500,Paid,Bank Transfer,Kotak Mahindra •• 7531 (Current),,2026-03-10,147500,0,,,NO,,,Commercial office lease rental for Floor 4 & 5,"Rent, Facilities, Headquarters"
72026-03-05,EXP-2026-0003,Variable,Travel & Conveyance,Air Travel,NO,,,MakeMyTrip Corporate,Supplier,06AAACM1234K1ZU,[email protected],Tekki Web Solutions Pvt. Ltd.,Business Development,Global Sales,Amritpal Singh,TWS4365,Gurcharan Singh Kang,TWS4162,Client Acquisition US/EU,CC-SALES-02,38200,INR,YES,5,1910,40110,Pending,Credit Card,HDFC •• 4521 (Current),Treasury Platinum Debit (••8830),,0,40110,2026-03-25,,NO,,,Flight tickets for Dubai client demonstration and stakeholder meetings,"Travel, Client, Dubai, Sales"
82026-03-01,EXP-2026-0004,CapEx,Hardware & Equipment,Laptops & Desktops,NO,,,Apple India Pvt. Ltd. Authorized Reseller,Supplier,07AAACA1234J1ZQ,[email protected],Tekki Web Solutions Pvt. Ltd.,IT & Production,Mobile Engineering,Gurwinder Singh,TWS4168,Pawandeep Kaur Grewal,TWS4160,Mobile App Division,CC-CAPEX-01,189900,INR,YES,18,34182,224082,Paid,Bank Transfer,HDFC •• 4521 (Current),,2026-03-01,224082,0,,,NO,,,MacBook Pro M3 Max 16-inch 36GB for lead mobile developer,"Hardware, Laptop, Apple, Asset"
92026-03-05,EXP-2026-0005,Liabilities,Loan & Debt Servicing,Commercial Vehicle EMI,YES,Monthly,2027-11-30,HDFC Bank Corporate Lending,Bank/Lender,03AAACH1234P1Z2,[email protected],Tekki Web Solutions Pvt. Ltd.,Finance & Accounts,Treasury & Tax,Pawandeep Kaur Grewal,TWS4160,Sarbjit Singh Grewal,TWS4161,Company Vehicles,CC-FIN-01,42500,INR,NO,0,0,42500,Paid,Bank Transfer,Kotak Mahindra •• 7531 (Current),,2026-03-05,42500,0,,,YES,HDFC Commercial Vehicle Loan #9921,14 of 36,Monthly EMI installment payment for corporate operations vehicle,"Liability, Loan, EMI, HDFC"
10`,V={date:["date","entry date"],invoiceNo:["invoiceno","invoice no","invoice number"],client:["client","client name"],project:["project","project name"],department:["department"],team:["team"],employeeName:["employeename","employee name","employee"],employeeEmpCode:["employeeid","employee id","emp id","emp code"],salesPersonName:["salespersonname","sales person name","sales person","salesperson"],salesPersonEmpCode:["salespersonid","sales person id"],company:["company","company name"],gross:["gross","gross amount"],tax:["tax","tax amount"],net:["net","net amount"],status:["status"]},j={date:["date","entry date","expensedate","expense date","expense date (yyyy-mm-dd)"],voucherNo:["voucherno","voucher no","voucher number","voucher / ref no","referenceno","reference no"],expenseType:["type","expense type","expensetype"],category:["category","expense category","expensecategory"],subCategory:["subcategory","sub-category","sub category"],recurring:["recurring","recurring?","recurring? (yes/no)","isrecurring"],recurringFrequency:["recurringfrequency","recurring frequency","frequency"],recurringEndDate:["recurringenddate","recurring end date","end date"],vendor:["vendor","vendor name","vendor / payee name","vendorname","payee"],vendorType:["vendortype","vendor type"],vendorGstPan:["vendorgstpan","vendor gst/pan","gst/pan","vendor gst","vendor pan"],vendorContact:["vendorcontact","vendor contact","contact"],company:["company","company name","companyname"],department:["department","department name","departmentname"],team:["team","team name","teamname"],employeeName:["employeename","employee name","employee","allocated to"],employeeEmpCode:["employeeid","employee id","emp id","emp code","employeeempcode"],approverName:["approvername","approver name","approver"],approverEmpCode:["approverid","approver id","approver emp id","approverempcode"],project:["project","project name","projectname"],costCenter:["costcenter","cost center"],gross:["gross","gross amount","gross amount (base)","grossamount","base amount"],currency:["currency"],taxApplicable:["taxapplicable","tax applicable","tax applicable? (yes/no)","is tax applicable"],taxRate:["taxrate","tax rate","tax rate (%)","tax %"],tax:["tax","tax amount","taxamount","gst amount"],net:["net","net amount","netamount","total amount"],paymentStatus:["paymentstatus","payment status","status"],paymentMethod:["paymentmethod","payment method","payment mode","paymentmode","mode of payment"],bankAccount:["bankaccount","bank account","account"],connectedCard:["connectedcard","connected corporate card","corporate card","card"],paymentDate:["paymentdate","payment date","payment date (yyyy-mm-dd)"],amountPaid:["amountpaid","amount paid","paid amount"],balanceDue:["balancedue","balance due","pending amount"],balanceDueDate:["balanceduedate","balance due date","due date"],advanceReference:["advancereference","advance reference","advance ref"],clearsLiability:["clearsliability","clearing liability? (yes/no)","clearing liability","clears liability"],linkedLiability:["linkedliability","linked liability","liability"],emiNo:["emino","emi no","installment"],description:["description","description & notes","notes","remarks"],tags:["tags","tag"],status:["status","approval status"]};function G(e){return e.trim().toLowerCase().replace(/[^a-z0-9]/gi,"")}function O(e){return e.trim().toLowerCase().replace(/\s+/g," ")}function R(e,o,i){const l={};for(const r of o){const a=e.find(c=>{const s=G(c),t=O(c);return i[r.key].some(p=>s===p.replace(/\s/g,"")||t===p)});a&&(l[r.key]=a)}return l}function H(e){return R(e,T,V)}function U(e){return R(e,M,j)}
10function n(e,o,i,l){const r=i[l],a=r?e.indexOf(r):-1;return a>=0?String(o[a]??"").trim():""}function A(e,o,i){return e&&!o?`${i}: Employee ID is required when Employee Name is provided`:o&&!e?`${i}: Employee Name is required when Employee ID is provided`:null}function K(e,o,i){const l=[],r=[];return o.forEach((a,c)=>{const s=c+2,t=i,p=n(e,a,t,"date"),k=n(e,a,t,"invoiceNo"),N=n(e,a,t,"client"),S=n(e,a,t,"gross"),D=n(e,a,t,"employeeName"),m=n(e,a,t,"employeeEmpCode"),P=n(e,a,t,"salesPersonName"),y=n(e,a,t,"salesPersonEmpCode"),b=T.filter(d=>d.required&&!n(e,a,t,d.key));if(b.length>0){r.push({row:s,reason:`Missing required: ${b.map(d=>d.label.split(" (")[0]).join(", ")}`});return}const f=A(D,m,"Employee");if(f){r.push({row:s,reason:f});return}const C=A(P,y,"Sales Person");if(C){r.push({row:s,reason:C});return}const u=parseFloat(S)||0,E=n(e,a,t,"tax"),x=parseFloat(E)||0,g=n(e,a,t,"net"),v=parseFloat(g)||u+(x||Math.round(u*.18));l.push({entryDate:p,invoiceNo:k,clientName:N,projectName:n(e,a,t,"project"),departmentName:n(e,a,t,"department"),teamName:n(e,a,t,"team"),employeeName:D,employeeEmpCode:m,salesPersonName:P,salesPersonEmpCode:y,companyName:n(e,a,t,"company"),gross:u,tax:x||Math.round(u*.18),net:v,status:n(e,a,t,"status")||"Pending"})}),{valid:l,invalid:r}}function X(e,o,i){const l=[],r=[];return o.forEach((a,c)=>{const s=c+2,t=i,p=n(e,a,t,"employeeName"),k=n(e,a,t,"employeeEmpCode"),N=M.filter(q=>q.required&&!n(e,a,t,q.key));if(N.length>0){r.push({row:s,reason:`Missing required: ${N.map(q=>q.label.split(" (")[0]).join(", ")}`});return}const S=A(p,k,"Employee");
10if(S){r.push({row:s,reason:S});return}const D=n(e,a,t,"gross"),m=parseFloat(D)||0,P=n(e,a,t,"taxRate"),y=parseFloat(P)||18,b=n(e,a,t,"tax"),f=b!==""?parseFloat(b):Math.round(m*y/100),C=n(e,a,t,"net"),u=C!==""?parseFloat(C):m+f,E=n(e,a,t,"subCategory"),x=n(e,a,t,"description"),g=n(e,a,t,"tags"),v=[x];E&&v.push(`[Sub-Cat: ${E}]`),g&&v.push(`[Tags: ${g}]`);const d=v.filter(Boolean).join(" ");l.push({entryDate:n(e,a,t,"date"),voucherNo:n(e,a,t,"voucherNo"),expenseType:n(e,a,t,"expenseType")||"Variable",category:n(e,a,t,"category")||"General Expense",subCategory:E,recurring:n(e,a,t,"recurring"),recurringFrequency:n(e,a,t,"recurringFrequency"),recurringEndDate:n(e,a,t,"recurringEndDate"),vendor:n(e,a,t,"vendor"),vendorName:n(e,a,t,"vendor"),vendorType:n(e,a,t,"vendorType"),vendorGstPan:n(e,a,t,"vendorGstPan"),vendorContact:n(e,a,t,"vendorContact"),description:d,departmentName:n(e,a,t,"department"),teamName:n(e,a,t,"team"),employeeName:p,employeeEmpCode:k,approverName:n(e,a,t,"approverName"),approverEmpCode:n(e,a,t,"approverEmpCode"),companyName:n(e,a,t,"company"),projectName:n(e,a,t,"project"),costCenter:n(e,a,t,"costCenter"),gross:m,currency:n(e,a,t,"currency")||"INR",taxApplicable:n(e,a,t,"taxApplicable")?.toLowerCase()!=="no",taxRate:y,tax:f,net:u,paymentMethod:n(e,a,t,"paymentMethod")||"Bank Transfer",paymentMode:n(e,a,t,"paymentMethod")||"Bank Transfer",paymentStatus:n(e,a,t,"paymentStatus")||n(e,a,t,"status")||"Pending",status:n(e,a,t,"paymentStatus")||n(e,a,t,"status")||"Pending",bankAccount:n(e,a,t,"bankAccount"),connectedCard:n(e,a,t,"connectedCard"),paymentDate:n(e,a,t,"paymentDate"),amountPaid:parseFloat(n(e,a,t,"amountPaid"))||0,balanceDue:parseFloat(n(e,a,t,"balanceDue"))||0,balanceDueDate:n(e,a,t,"balanceDueDate"),advanceReference:n(e,a,t,"advanceReference"),clearsLiability:n(e,a,t,"clearsLiability"),linkedLiability:n(e,a,t,"linkedLiability"),emiNo:n(e,a,t,"emiNo"),tags:g})}),{valid:l,invalid:r}}function $(e){return I(e)}async function Z(e){if(e==="expense")try{const{downloadExpenseExcelTemplate:c}=await L(async()=>{const{downloadExpenseExcelTemplate:s}=await import("./expenseExcelTemplates-CuEjT3WL.js");return{downloadExpenseExcelTemplate:s}},__vite__mapDeps([0,1,2,3,4]));await c();return}catch{}const o=e==="revenue"?F:Y,i=e==="revenue"?"finance-revenue-import-template.csv":"finance-expense-import-template.csv",l=new Blob([o],{type:"text/csv"}),r=URL.createObjectURL(l),a=document.createElement("a");a.href=r,a.download=i,a.click(),URL.revokeObjectURL(r)}export{M as EXPENSE_IMPORT_FIELDS,Y as EXPENSE_SAMPLE_CSV,T as REVENUE_IMPORT_FIELDS,F as REVENUE_SAMPLE_CSV,U as autoMapExpenseHeaders,H as autoMapRevenueHeaders,Z as downloadSampleCsv,X as mapExpenseRows,K as mapRevenueRows,$ as parseCSV,J as parseWorkbook};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.