IK
InvoiceKit Enterprise
🇮🇳 India's #1 Free Offline Billing & Khata Suite ● Zero Cloud Tracking

Enterprise Invoicing, Khata & Inventory.
100% Free & Offline.

Generate GST-compliant tax invoices, scannable UPI QR payments, manage party ledgers with WhatsApp reminders, and print thermal POS receipts. All computed in your browser without any server or subscription fees.

Explore Features ↓
✓ No Sign Up / No Phone OTP ✓ 100% Private (Stored on Device) ✓ Works Without Internet (PWA) ✓ GSTR-1 Excel / CA Ready
Spotnet Services Pvt. Ltd.
GSTIN: 09AAACS1429B1Z8 · Ph: +91 98765 43210
PARTIALLY PAID
#INV-849201
BILL TO
Ramesh Traders & Hardware
Civil Lines, Gorakhpur, UP
Item / ServiceQtyRateAmount
Commercial Electrical Wiring2₹4,500₹9,000.00
GST Tax Invoicing Module1₹1,800₹1,800.00
Taxable Value:₹10,800.00
CGST (9%) + SGST (9%):₹1,944.00
Total Invoice Amount:₹12,744.00
Balance Due (Udhar):₹2,744.00
0 ms Instant offline loading with Service Worker PWA
100% Private on your device. Zero data sent to external servers
₹0 / yr Save ₹3,000+ yearly vs Vyapar, myBillBook or Tally
GSTR-1 1-Click CSV export for accountants and tax filing

Everything You Need to Run Your Business

Designed for small shops, freelancers, traders, and manufacturing enterprises in India.

🧾

Smart GST Invoicing & UPI QR Code

Auto-detect Intra-State (CGST + SGST) vs Inter-State (IGST) split. Generates scannable UPI payment QR codes on invoices for instant customer payments via Google Pay, PhonePe, and Paytm.

CGST/SGST Auto-Split Bill of Supply Dynamic UPI QR Logo & Signature
👥

Parties Khata & Udhar Ledger

Maintain your entire customer and supplier directory. Track exact balance due and send formatted 1-click payment reminders directly on WhatsApp.

Real-time Balance Due WhatsApp Reminders Client Auto-Fill
📦

Items & Product Catalog

Manage product prices, HSN/SAC codes, units (PCS, KGS, BOX, MTR), and default GST rates. Autocomplete instantly fills prices inside bills.

Datalist Autocomplete HSN/SAC Codes Units Master
🖨️

Multiple Print Templates & Thermal POS

Switch seamlessly between Standard GST, Modern Blue, and 58mm Thermal POS receipts for retail counter billing. Vector crisp PDF export.

Thermal POS (58mm) Classic GST Modern Blue
📊

CA & GSTR-1 Sales Register

Export all sales invoices into a clean Excel/CSV file with UTF-8 BOM. Hand it directly to your accountant or CA for hassle-free monthly GST filing.

Excel / CSV Ready Tally Compatible Tax Breakdown
💰

Staff Payroll & Salary Slips

Generate professional monthly payroll slips for your team with automated PF, ESI, TDS deductions, and net take-home salary in Indian words.

PF / ESI / TDS Words Format Print & Share

Why MSMEs Choose InvoiceKit

See how InvoiceKit compares with costly traditional desktop software.

Features & Value InvoiceKit Vyapar App Tally Prime myBillBook
Annual Pricing ₹0 / Free Forever ₹2,999+ / year ₹18,000+ / year ₹2,399+ / year
Data Privacy 100% On-Device Uploaded to Server Local (Desktop only) Uploaded to Server
Offline Capability 100% Offline (PWA) Desktop App only Desktop only Limited
Setup Time 0 Seconds (No Signup) 15 Mins + OTP Hours / Days 10 Mins + OTP
Thermal POS & UPI QR ✓ Included Free Paid Addon Complex Setup Paid Plan Only
WhatsApp Integration ✓ 1-Click Free SMS / Paid credits Third-party plugin Paid tier only

Got Questions? We Have Answers

Is InvoiceKit really 100% free forever?

Yes. There are no hidden subscription charges, no trial periods, and no watermarks on your invoices. It runs directly inside your browser using client-side JavaScript.

Where is my business data stored?

All data (invoices, customer details, item catalog, and logos) is stored strictly in your browser's private storage. No data is ever sent to any remote server.

Can I use InvoiceKit without internet?

Absolutely. InvoiceKit is a Progressive Web App (PWA). Once opened, it caches completely onto your device and can generate invoices, calculate taxes, and print bills 100% offline.

How do I transfer my data to another computer or phone?

Go to the More/Settings tab and click "Export All Data (JSON)". You can then restore this file on any device in one click.

Ready to simplify your business billing?

Join thousands of Indian shopkeepers, freelancers, and MSMEs creating professional GST bills.

/* ========================================================= ENTERPRISE LANDING PAGE (Vyapar & Stripe Level) ========================================================= */ #landing{ min-height:100vh;padding:0;position:relative; display:flex;flex-direction:column; background: radial-gradient(circle at 10% 8%, color-mix(in srgb, var(--invoice) 14%, transparent), transparent 45%), radial-gradient(circle at 90% 15%, color-mix(in srgb, var(--salary) 14%, transparent), transparent 45%), var(--bg); } /* Landing Navigation */ .land-nav{ display:flex;align-items:center;justify-content:space-between; padding:16px 28px;max-width:1200px;margin:0 auto;width:100%; position:sticky;top:0;z-index:40; background:color-mix(in srgb, var(--bg) 85%, transparent); backdrop-filter:blur(14px);border-bottom:1px solid var(--border); } .land-nav-brand{display:flex;align-items:center;gap:10px;} .land-mark-sm{ width:32px;height:32px;border-radius:9px; background:linear-gradient(135deg, var(--invoice) 0%, var(--salary) 100%); color:#fff;display:flex;align-items:center;justify-content:center; font-family:var(--font-display);font-weight:800;font-size:14px; box-shadow:var(--shadow-sm); } .land-brand-name{font-family:var(--font-display);font-weight:800;font-size:18px;letter-spacing:-.02em;color:var(--ink);} .land-badge-pro{ font-size:9.5px;text-transform:uppercase;font-weight:800;letter-spacing:.06em; background:var(--invoice-soft);color:var(--invoice);padding:2px 7px;border-radius:20px; vertical-align:middle;margin-left:4px; } .land-nav-links{display:flex;align-items:center;gap:22px;} .land-link{color:var(--ink-soft);text-decoration:none;font-size:13.5px;font-weight:600;transition:color .15s ease;} .land-link:hover{color:var(--coral);} .land-nav-actions{display:flex;align-items:center;gap:8px;} .land-nav-cta{padding:9px 18px;font-size:13px;border-radius:10px;} /* Hero Wrap */ .land-hero-wrap{ max-width:1200px;margin:32px auto 0;padding:20px 24px 60px;width:100%; display:grid;grid-template-columns:1.15fr 0.85fr;gap:40px;align-items:center; } .land-hero-pill{ display:inline-flex;align-items:center;gap:8px;padding:6px 14px; border-radius:30px;background:var(--surface);border:1px solid var(--border-strong); font-size:12px;font-weight:700;color:var(--coral);box-shadow:var(--shadow-sm);margin-bottom:20px; } .pill-dot{color:var(--invoice);font-size:10px;} .pill-sub{color:var(--ink-soft);font-weight:600;} .land-hero-title{ font-size:46px;line-height:1.15;font-weight:900;letter-spacing:-.03em; color:var(--ink);margin-bottom:18px;font-family:var(--font-display); } .gradient-text{ background:linear-gradient(135deg, var(--coral) 0%, var(--invoice) 60%, var(--salary) 100%); -webkit-background-clip:text;-webkit-text-fill-color:transparent; } .land-hero-sub{ font-size:16px;line-height:1.65;color:var(--ink-soft);margin-bottom:28px;max-width:54ch; } .land-cta-group{display:flex;align-items:center;gap:14px;margin-bottom:24px;} .land-btn-lg{padding:14px 26px;font-size:15px;font-weight:700;border-radius:12px;} .land-trust-bullets{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;font-weight:600;color:var(--ink-soft);} /* Hero Mockup Preview Card */ .land-mockup-wrap{perspective:1000px;} .land-mockup-card{ background:var(--surface);border:1px solid var(--border);border-radius:16px; padding:20px;box-shadow:0 20px 50px rgba(18,23,43,.12);position:relative; transform:rotate(1deg) scale(0.98);transition:transform .3s ease, box-shadow .3s ease; } .land-mockup-card:hover{transform:rotate(0deg) scale(1);box-shadow:0 24px 60px rgba(18,23,43,.16);} .mock-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;border-bottom:1px solid var(--border);padding-bottom:12px;} .mock-biz{font-family:var(--font-display);font-weight:800;font-size:15px;color:var(--ink);} .mock-sub{font-size:10.5px;color:var(--ink-faint);margin-top:2px;} .mock-stamp{ display:inline-block;padding:3px 7px;border-radius:5px;font-size:9.5px; font-weight:800;background:#FDF1DA;color:#B45309;border:1px solid #FBBF24; } .mock-invno{font-family:var(--font-mono);font-size:12px;font-weight:700;margin-top:3px;} .mock-client{background:var(--surface-2);padding:8px 10px;border-radius:8px;margin-bottom:12px;font-size:11px;} .mock-label{font-size:9px;font-weight:800;color:var(--ink-faint);text-transform:uppercase;} .mock-cname{font-weight:700;font-size:12px;color:var(--ink);} .mock-items{margin-bottom:12px;} .mock-item-row{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;font-size:11px;padding:5px 0;border-bottom:1px solid var(--border);} .mock-item-row.header{font-weight:800;color:var(--ink-faint);text-transform:uppercase;font-size:9.5px;} .mock-item-row span:nth-child(2){text-align:center;} .mock-item-row span:nth-child(3),.mock-item-row span:nth-child(4){text-align:right;font-family:var(--font-mono);} .mock-totals{margin-left:auto;width:75%;font-size:11px;font-family:var(--font-mono);} .mock-t-row{display:flex;justify-content:space-between;padding:2px 0;} .mock-t-row.grand{font-size:12.5px;font-weight:800;border-top:1.5px solid var(--border-strong);padding-top:4px;margin-top:2px;color:var(--ink);} .mock-t-row.paid{color:#087A55;font-weight:600;} .mock-t-row.due{color:var(--danger);font-weight:800;} .mock-footer{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:10px;border-top:1px dashed var(--border);} .mock-qr-box{display:flex;align-items:center;gap:8px;background:var(--surface-2);padding:6px 10px;border-radius:8px;} .mock-sig-box{text-align:right;} /* Trust Strip */ .land-strip{ max-width:1200px;margin:0 auto 40px;padding:22px 24px;width:100%; display:grid;grid-template-columns:repeat(4, 1fr);gap:18px; background:var(--surface);border-radius:16px;border:1px solid var(--border);box-shadow:var(--shadow-sm); } .land-strip-item{text-align:center;padding:6px 10px;} .strip-num{display:block;font-family:var(--font-display);font-size:26px;font-weight:900;color:var(--coral);line-height:1.2;} .strip-desc{font-size:11.5px;color:var(--ink-soft);line-height:1.4;margin-top:4px;display:block;font-weight:500;} /* Sections */ .land-section{max-width:1200px;margin:40px auto;padding:30px 24px;width:100%;} .section-center-head{text-align:center;max-width:650px;margin:0 auto 40px;} .section-tag{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--coral);margin-bottom:8px;} .section-h2{font-size:32px;font-weight:800;color:var(--ink);letter-spacing:-.02em;margin-bottom:10px;} .section-p{font-size:15px;color:var(--ink-soft);line-height:1.55;} /* Bento Grid */ .bento-grid{display:grid;grid-auto-flow:column;grid-template-rows:1fr;gap:20px;overflow-x:auto;} .bento-card{ background:var(--surface);border:1px solid var(--border);border-radius:18px; padding:26px 22px;box-shadow:var(--shadow-sm);transition:transform .15s ease, box-shadow .15s ease; display:flex;flex-direction:column; } .bento-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);} .bento-card.bento-lg{grid-column:span 2;background:linear-gradient(135deg, color-mix(in srgb, var(--coral) 8%, var(--surface)), var(--surface));} .bento-icon{ width:44px;height:44px;border-radius:12px;background:var(--surface-2); display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:14px; } .bento-card h3{font-size:18px;font-weight:800;color:var(--ink);margin-bottom:8px;} .bento-card p{font-size:13.5px;color:var(--ink-soft);line-height:1.6;margin-bottom:16px;flex:1;} .bento-chips{display:flex;flex-wrap:wrap;gap:6px;} .bento-chips span{ background:var(--surface-2);border:1px solid var(--border);border-radius:6px; font-size:10.5px;font-weight:700;color:var(--ink-soft);padding:3px 8px; } /* Comparison Table */ .table-card-wrap{ background:var(--surface);border:1px solid var(--border);border-radius:18px; overflow-x:auto;box-shadow:var(--shadow-sm); } .comp-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;} .comp-table th{ padding:16px 18px;background:var(--surface-2);color:var(--ink-soft); font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border); } .comp-table th.highlight{background:var(--coral);color:#fff;} .comp-table td{padding:14px 18px;border-bottom:1px solid var(--border);color:var(--ink-soft);} .comp-table td.highlight-val{background:color-mix(in srgb, var(--coral) 8%, var(--surface));color:var(--coral);font-weight:800;} /* FAQ Grid */ .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;} .faq-item{ background:var(--surface);border:1px solid var(--border);border-radius:14px; padding:20px 22px;box-shadow:var(--shadow-sm); } .faq-item h4{font-size:15px;font-weight:800;color:var(--ink);margin-bottom:8px;} .faq-item p{font-size:13.5px;color:var(--ink-soft);line-height:1.6;margin:0;} /* Bottom CTA */ .land-bottom-cta{ max-width:1200px;margin:40px auto;padding:48px 28px;width:100%; border-radius:22px;text-align:center; background:linear-gradient(135deg, var(--coral) 0%, var(--invoice) 60%, var(--salary) 100%); color:#fff;box-shadow:var(--shadow-lg); } .land-bottom-cta h2{font-size:32px;font-weight:900;margin-bottom:10px;} .land-bottom-cta p{font-size:16px;opacity:.92;max-width:55ch;margin:0 auto 24px;line-height:1.5;} .land-bottom-cta .land-btn-lg{background:#fff;color:#12172B;box-shadow:0 10px 25px rgba(0,0,0,.2);} .land-bottom-cta .land-btn-lg:hover{background:#F8FAFC;} /* Enterprise Footer */ .land-enterprise-footer{ border-top:1px solid var(--border);padding:36px 28px 24px; max-width:1200px;margin:0 auto;width:100%; } .footer-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:20px;margin-bottom:24px;} .footer-links{display:flex;gap:18px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-soft);font-weight:600;} .footer-bottom{border-top:1px solid var(--border);padding-top:18px;font-size:11.5px;color:var(--ink-faint);text-align:center;} @media (max-width:860px){ .land-nav-links{display:none;} .land-hero-wrap{grid-template-columns:1fr;gap:30px;text-align:center;} .land-hero-title{font-size:34px;} .land-hero-sub{margin-left:auto;margin-right:auto;} .land-cta-group{justify-content:center;} .land-trust-bullets{justify-content:center;} .land-strip{grid-template-columns:1fr 1fr;} .bento-grid{grid-template-columns:1fr;} .bento-card.bento-lg{grid-column:span 1;} .faq-grid{grid-template-columns:1fr;} } /* ---------- Topbar ---------- */ .topbar{ position:sticky;top:0;z-index:20; display:flex;align-items:center;justify-content:space-between; padding:14px 18px; background:color-mix(in srgb, var(--bg) 90%, transparent); backdrop-filter:blur(10px); border-bottom:1px solid var(--border); } .topbar-actions{display:flex;gap:8px;} .brand{display:flex;align-items:center;gap:9px;} .brand-mark{ width:32px;height:32px;border-radius:9px; background:linear-gradient(135deg, var(--invoice) 0%, var(--salary) 100%); color:#fff; display:flex;align-items:center;justify-content:center; font-family:var(--font-display);font-weight:700;font-size:13px; box-shadow:var(--shadow-sm); } .brand-name{font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:-.01em;} .live-dot{width:7px;height:7px;border-radius:50%;background:var(--invoice);box-shadow:0 0 0 3px var(--invoice-soft);} /* ---------- Layout ---------- */ #app{max-width:560px;margin:0 auto;padding:18px 16px 24px;} .view{animation:fadein .25s ease;} @keyframes fadein{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}} /* ---------- Home hero ---------- */ .ledger-hero{ padding:24px 20px;border-radius:var(--radius-lg);margin-bottom:18px; background:linear-gradient(135deg, var(--invoice) 0%, var(--salary) 130%); box-shadow:var(--shadow-lg);color:#fff;position:relative;overflow:hidden; } .ledger-hero::after{ content:"";position:absolute;inset:0; background:radial-gradient(circle at 85% -10%, rgba(255,255,255,.28), transparent 55%); pointer-events:none; } .eyebrow{ font-family:var(--font-mono);font-size:11px;letter-spacing:.08em; text-transform:uppercase;color:rgba(255,255,255,.85);margin:0 0 8px;font-weight:600; position:relative; } .hero-title{font-size:40px;line-height:1;font-weight:800;letter-spacing:-.02em;color:#fff;position:relative;} .hero-dot{color:#FFD9CC;} .hero-sub{color:rgba(255,255,255,.92);font-size:14.5px;margin:10px 0 0;max-width:36ch;position:relative;line-height:1.5;} .stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 8px;} .stat{ background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md); padding:14px 8px;text-align:center;box-shadow:var(--shadow-sm); border-top:3px solid var(--stat-color, var(--coral)); } .stat:nth-child(1){--stat-color:var(--coral);} .stat:nth-child(2){--stat-color:var(--invoice);} .stat:nth-child(3){--stat-color:var(--invoice);} .stat:nth-child(4){--stat-color:var(--salary);} .stat-num{display:block;font-family:var(--font-mono);font-weight:700;font-size:19px;color:var(--ink);} .stat-label{display:block;font-size:10px;color:var(--ink-faint);margin-top:4px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;} .section-label{ font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em; color:var(--ink-faint);margin:24px 2px 12px; } /* ---------- Quick create ---------- */ .quick-grid{display:grid;grid-auto-flow:column;grid-template-rows:1fr;gap:12px;overflow-x:auto;} .quick-card{ border:1px solid var(--border);border-radius:var(--radius-lg); padding:20px 16px;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm); display:flex;flex-direction:column;gap:7px;transition:transform .12s ease, box-shadow .12s ease; } .quick-card:active{transform:scale(.97);} .quick-card[data-action="new-invoice"]{background:var(--invoice-soft);border-color:transparent;} .quick-card[data-action="new-salary"]{background:var(--salary-soft);border-color:transparent;} .quick-icon{ font-size:22px;width:42px;height:42px;border-radius:11px; display:flex;align-items:center;justify-content:center;background:var(--surface); box-shadow:var(--shadow-sm); } .quick-title{font-family:var(--font-display);font-weight:700;font-size:17px;color:var(--ink);} .quick-sub{font-size:12px;color:var(--ink-soft);font-weight:500;} /* ---------- Tab head (Invoice / Salary list panes) ---------- */ .tab-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px;} .tab-head h2{font-size:23px;font-weight:800;} .tab-sub{margin:4px 0 0;font-size:12.5px;color:var(--ink-faint);font-weight:500;} .btn-fab{ border:none;border-radius:12px;padding:11px 16px;font-weight:700;font-size:13.5px; color:#fff;cursor:pointer;flex-shrink:0;box-shadow:var(--shadow-md);white-space:nowrap; } .btn-fab-invoice{background:var(--invoice);} .btn-fab-salary{background:var(--salary);} .btn-fab:active{transform:scale(.96);} /* ---------- Data table + pagination ---------- */ .data-table-wrap{ background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg); overflow:hidden;box-shadow:var(--shadow-sm); } table.data-table{width:100%;border-collapse:collapse;} .data-table thead th{ text-align:left;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:800; color:var(--ink-faint);background:var(--surface-2);padding:11px 10px; } .data-table tbody tr{border-top:1px solid var(--border);cursor:pointer;transition:background .1s ease;} .data-table tbody tr:active{background:var(--surface-2);} .data-table td{padding:12px 10px;font-size:13px;vertical-align:middle;} .dt-main strong{display:block;font-weight:700;font-size:13.5px;color:var(--ink);} .dt-main span{display:block;font-size:11px;color:var(--ink-faint);margin-top:2px;font-weight:500;} .dt-amt{font-family:var(--font-mono);font-weight:700;text-align:right;white-space:nowrap;} .dt-date{color:var(--ink-soft);font-size:12px;white-space:nowrap;} .dt-actions{text-align:right;white-space:nowrap;} .dt-del{ background:var(--danger-soft);color:var(--danger);border:none;border-radius:8px; padding:7px 9px;font-size:13px;cursor:pointer; } .pagination{ display:flex;align-items:center;justify-content:space-between;gap:10px; padding:12px 14px;border-top:1px solid var(--border);background:var(--surface-2); } .pg-info{font-size:11.5px;color:var(--ink-faint);font-weight:600;} .pg-btns{display:flex;gap:6px;} .pg-btn{ border:1px solid var(--border-strong);background:var(--surface);color:var(--ink); border-radius:8px;padding:6px 11px;font-size:12.5px;font-weight:700;cursor:pointer; } .pg-btn:disabled{opacity:.4;cursor:default;} /* ---------- Recent list rows (used sparingly) ---------- */ .recent-list,.history-list{display:flex;flex-direction:column;gap:10px;} .doc-row{ display:flex;align-items:center;gap:12px; background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md); padding:13px 14px;cursor:pointer;box-shadow:var(--shadow-sm); } .doc-row .doc-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:17px;} .doc-row.type-invoice .doc-icon{background:var(--invoice-soft);} .doc-row.type-salary .doc-icon{background:var(--salary-soft);} .doc-row .doc-main{flex:1;min-width:0;} .doc-row .doc-title{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;} .doc-row .doc-sub{font-size:11.5px;color:var(--ink-faint);margin-top:2px;font-weight:500;} .doc-row .doc-amt{font-family:var(--font-mono);font-weight:700;font-size:14px;flex-shrink:0;color:var(--ink);} .empty-note{color:var(--ink-faint);font-size:13px;text-align:center;padding:36px 10px;font-weight:500;} /* ---------- Create head ---------- */ .create-head{display:flex;align-items:center;gap:10px;margin-bottom:16px;} .create-head h2{font-size:21px;flex:1;font-weight:700;} .icon-btn{ width:36px;height:36px;border-radius:10px;border:1px solid var(--border); background:var(--surface);cursor:pointer;font-size:16px;box-shadow:var(--shadow-sm); display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ink); } /* ---------- Forms ---------- */ .ledger-card{ background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg); padding:18px 17px 16px;margin-bottom:14px;box-shadow:var(--shadow-sm); border-left:3px solid var(--accent); } .ledger-card legend{ font-family:var(--font-display);font-weight:700;font-size:15px; padding:0;margin-bottom:14px;display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;color:var(--ink); } .ledger-card legend em{font-style:normal;font-family:var(--font-body);font-weight:500;font-size:11.5px;color:var(--ink-faint);} .doc-form label{display:block;font-size:12px;font-weight:700;color:var(--ink-soft);margin-bottom:12px;} .doc-form label:last-child{margin-bottom:0;} .doc-form input,.doc-form select,.doc-form textarea{ display:block;width:100%;margin-top:6px; border:1.5px solid var(--border);border-radius:9px;background:var(--surface-2); padding:11px 12px;font-size:14.5px;color:var(--ink);font-weight:500; transition:border-color .12s ease, background .12s ease; } .doc-form input:focus,.doc-form select:focus,.doc-form textarea:focus{outline:none;border-color:var(--accent);background:var(--surface);} .doc-form textarea{resize:vertical;font-family:inherit;} .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;} /* ---------- Items table (invoice line items) ---------- */ .items-head{ display:grid;grid-template-columns:1fr 56px 84px 28px;gap:8px; font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em; color:var(--ink-faint);padding:0 2px 8px; } .items-head span:nth-child(2){text-align:center;} .items-head span:nth-child(3){text-align:right;} .item-row{display:grid;grid-template-columns:1fr 56px 84px 28px;gap:8px;align-items:center;margin-bottom:9px;} .item-row input{margin:0;padding:9px 10px;font-size:13.5px;} .item-row .i-qty{text-align:center;} .item-row .i-rate{text-align:right;} .item-del{background:var(--danger-soft);border:none;color:var(--danger);font-size:14px;cursor:pointer;padding:8px;border-radius:8px;line-height:1;} .add-item-btn{ width:100%;border:1.5px dashed var(--border-strong);background:var(--surface-2);border-radius:10px; padding:11px;font-weight:700;font-size:13px;color:var(--accent-dark);cursor:pointer;margin-top:6px; } /* ---------- Totals box ---------- */ .totals-box{margin-top:16px;border-top:1.5px dashed var(--border);padding-top:14px;} .total-line{display:flex;justify-content:space-between;font-size:13px;color:var(--ink-soft);padding:4px 0;font-family:var(--font-mono);font-weight:500;} .total-line.grand{font-size:18px;font-weight:700;color:var(--ink);font-family:var(--font-mono);border-top:1.5px solid var(--border);margin-top:7px;padding-top:11px;} /* ---------- Buttons ---------- */ .btn{ border-radius:12px;padding:14px 18px;font-weight:700;font-size:14.5px;border:none;cursor:pointer; display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:transform .1s ease, opacity .1s ease; } .btn:active{transform:scale(.97);} .btn.full{width:100%;} .btn-primary{background:var(--coral);color:#fff;box-shadow:0 6px 16px rgba(255,90,60,.32);} .btn-outline{background:var(--surface);color:var(--ink);border:1.5px solid var(--border-strong);} .btn-ghost{background:var(--accent);color:#fff;width:100%;box-shadow:var(--shadow-md);} .btn-danger{background:var(--danger-soft);color:var(--danger);} .create-actions{position:sticky;bottom:80px;padding-top:8px;} .preview-actions{display:grid;grid-template-columns:repeat(auto-fit, minmax(105px, 1fr));gap:9px;margin-top:18px;} /* ---------- Invoice Templates (Vyapar Style) ---------- */ .paper-sheet.template-modern .ps-head{ background:linear-gradient(135deg, #1e40af 0%, #0284c7 100%); } .paper-sheet.template-classic .ps-head{ background:linear-gradient(135deg, #1e293b 0%, #334155 100%); } .paper-sheet.template-thermal{ max-width:380px;margin:0 auto;background:#fff;color:#000; font-family:'Courier New', Courier, monospace;padding:16px 14px; border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.15);border:1px solid #ddd; } .ps-thermal-wrap{font-size:12px;line-height:1.4;} .ps-thermal-center{text-align:center;} .ps-thermal-logo{max-height:40px;margin:0 auto 6px;display:block;filter:grayscale(100%);} .ps-thermal-title{font-size:16px;font-weight:900;text-transform:uppercase;} .ps-thermal-sub{font-size:11px;color:#222;} .ps-thermal-dashed{border-top:1px dashed #000;margin:8px 0;} .ps-thermal-table{width:100%;border-collapse:collapse;margin:6px 0;font-size:11.5px;} .ps-thermal-table th{border-bottom:1px dashed #000;padding:4px 2px;text-transform:uppercase;font-size:11px;} .ps-thermal-table td{padding:4px 2px;} .ps-thermal-totals{margin-left:auto;width:80%;font-size:11.5px;} .ps-t-row{display:flex;justify-content:space-between;padding:2px 0;} .ps-t-row.grand{font-size:14px;font-weight:900;border-top:1px dashed #000;margin-top:4px;padding-top:4px;} /* ---------- Preview / paper sheet ---------- */ .paper-wrap{background:var(--surface-2);border-radius:var(--radius-lg);padding:14px;} .paper-sheet{background:var(--surface);border-radius:12px;padding:0 0 22px;box-shadow:var(--shadow-md);font-size:13px;color:var(--ink);position:relative;overflow:hidden;} .ps-head{ display:flex;justify-content:space-between;gap:14px;padding:22px 22px 18px;margin-bottom:18px; background:linear-gradient(135deg, var(--accent) 0%, var(--salary) 130%);color:#fff; } .ps-brand{font-family:var(--font-display);font-weight:700;font-size:19px;} .ps-meta-line{color:rgba(255,255,255,.85);font-size:11.5px;margin-top:4px;line-height:1.55;} .ps-doctype{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-align:right;opacity:.9;} .ps-docno{font-family:var(--font-mono);font-size:16px;font-weight:700;text-align:right;margin-top:5px;color:#fff;} .ps-body{padding:0 22px;} .ps-billto{display:flex;justify-content:space-between;gap:18px;margin-bottom:18px;font-size:12.5px;} .ps-billto .label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);font-weight:800;margin-bottom:4px;} .ps-table{width:100%;border-collapse:collapse;margin-bottom:16px;} .ps-table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);border-bottom:2px solid var(--surface-2);padding:0 6px 9px;font-weight:800;} .ps-table td{padding:9px 6px;border-bottom:1px solid var(--surface-2);font-size:12.5px;} .ps-table th:last-child,.ps-table td:last-child{text-align:right;font-family:var(--font-mono);} .ps-table th:nth-child(2),.ps-table td:nth-child(2){text-align:center;} .ps-table th:nth-child(3),.ps-table td:nth-child(3){text-align:right;font-family:var(--font-mono);} .ps-totals{margin-left:auto;width:60%;font-family:var(--font-mono);} .ps-total-line{display:flex;justify-content:space-between;font-size:12.5px;padding:5px 0;color:var(--ink-soft);} .ps-total-line.grand{font-size:17px;font-weight:700;color:var(--ink);border-top:2px solid var(--accent);margin-top:6px;padding-top:10px;} .ps-stamp{ position:absolute;right:26px;bottom:78px;border:2.5px solid var(--coral);color:var(--coral); border-radius:50%;width:80px;height:80px;display:flex;align-items:center;justify-content:center;text-align:center; font-family:var(--font-mono);font-size:10px;font-weight:800;letter-spacing:.03em; transform:rotate(-14deg);opacity:.85;line-height:1.25;background:color-mix(in srgb, var(--surface) 92%, transparent); } .ps-notes{font-size:11.5px;color:var(--ink-soft);border-top:1.5px dashed var(--border);padding-top:12px;margin-top:8px;line-height:1.5;} .ps-footer{text-align:center;font-size:10.5px;color:var(--ink-faint);margin-top:20px;font-family:var(--font-mono);font-weight:600;} .ps-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px 20px;font-size:12px;margin-bottom:18px;} .ps-grid div{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px dotted var(--border);} .ps-grid span:first-child{color:var(--ink-faint);font-weight:600;} .ps-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:16px;} .ps-col h4{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-dark);margin:0 0 10px;font-family:var(--font-body);font-weight:800;} .ps-col .ps-total-line{border-top:1.5px solid var(--surface-2);margin-top:5px;padding-top:7px;font-weight:700;color:var(--ink);} .ps-netpay{background:var(--accent-soft);border-radius:12px;padding:16px 18px;text-align:center;margin-top:8px;} .ps-netpay .amt{font-family:var(--font-mono);font-size:22px;font-weight:700;color:var(--accent-dark);} .ps-netpay .words{font-size:10.5px;color:var(--ink-soft);margin-top:5px;font-style:italic;font-weight:500;} /* Vyapar Enhancements: Logo, Payment Box, Badges, Signature */ .upload-btn{ display:inline-flex;align-items:center;gap:6px;padding:8px 12px; background:var(--surface);border:1.5px dashed var(--border-strong); border-radius:8px;font-size:12px;font-weight:600;color:var(--ink-soft); cursor:pointer;transition:all .15s ease;margin-top:6px; } .upload-btn:hover{border-color:var(--accent);color:var(--ink);} .upload-preview-wrap{display:flex;align-items:center;gap:10px;margin-top:8px;} .upload-preview-img{max-height:48px;max-width:90px;object-fit:contain;border-radius:6px;border:1px solid var(--border);background:#fff;padding:2px;} .btn-sm-del{background:var(--danger-soft);color:var(--danger);border:none;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700;cursor:pointer;} .ps-logo{max-height:50px;max-width:110px;object-fit:contain;margin-bottom:8px;display:block;background:#fff;border-radius:4px;padding:2px;} .ps-status-badge{ display:inline-block;padding:3px 8px;border-radius:6px;font-family:var(--font-mono); font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;margin-bottom:6px; } .ps-status-badge.status-paid{background:#DEF7EC;color:#087A55;border:1px solid #31C48D;} .ps-status-badge.status-unpaid{background:#FCE4E5;color:#C81E1E;border:1px solid #F98080;} .ps-status-badge.status-partial{background:#FDF1DA;color:#B45309;border:1px solid #FBBF24;} .ps-payment-box{ margin-top:16px;border:1px solid var(--border);border-radius:10px;padding:12px 14px; background:var(--surface-2);display:flex;justify-content:space-between;align-items:center;gap:14px; } .ps-bank-details{font-size:11px;line-height:1.6;color:var(--ink-soft);flex:1;} .ps-bank-details strong{color:var(--ink);font-size:11.5px;} .ps-qr-wrap{text-align:center;flex-shrink:0;background:#fff;padding:6px;border-radius:8px;border:1px solid var(--border-strong);} .ps-qr-wrap canvas, .ps-qr-wrap img{display:block;margin:0 auto;width:75px;height:75px;} .ps-qr-text{font-size:9px;font-weight:700;color:var(--ink-soft);margin-top:4px;letter-spacing:.02em;} .ps-footer-flex{display:flex;justify-content:space-between;align-items:flex-end;margin-top:18px;gap:14px;} .ps-sig-box{text-align:center;min-width:130px;} .ps-sig-img{max-height:44px;max-width:120px;object-fit:contain;margin-bottom:4px;} .ps-sig-line{border-top:1px solid var(--border-strong);padding-top:4px;font-size:10px;color:var(--ink-faint);font-weight:600;} /* ---------- Parties & Items Directory (Vyapar Level) ---------- */ .search-input{ width:100%;border:1.5px solid var(--border);border-radius:10px; background:var(--surface);padding:10px 14px;font-size:13.5px; color:var(--ink);margin-bottom:14px;outline:none; } .search-input:focus{border-color:var(--accent);} .btn-fab-party{background:var(--salary);} .btn-fab-item{background:var(--invoice);} .directory-list{display:flex;flex-direction:column;gap:10px;} .directory-card{ background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md); padding:14px;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between; align-items:flex-start;gap:12px;transition:transform .1s ease; } .directory-card:active{transform:scale(.99);} .dir-main{flex:1;min-width:0;} .dir-title{font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--ink);display:flex;align-items:center;gap:8px;} .dir-sub{font-size:12px;color:var(--ink-soft);margin-top:3px;line-height:1.4;} .dir-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;font-size:11px;} .dir-badge{background:var(--surface-2);border-radius:6px;padding:3px 7px;font-weight:600;color:var(--ink-soft);} .dir-due{font-family:var(--font-mono);font-size:12px;font-weight:700;} .dir-due.has-due{color:var(--danger);} .dir-due.clear{color:var(--invoice);} .dir-actions{display:flex;gap:6px;} .btn-icon-sm{ width:32px;height:32px;border-radius:8px;border:1px solid var(--border); background:var(--surface-2);color:var(--ink);cursor:pointer; display:flex;align-items:center;justify-content:center;font-size:14px; } .btn-icon-sm.del{color:var(--danger);background:var(--danger-soft);border-color:transparent;} /* Quick-picker in invoice */ .quick-picker-box{ background:var(--surface-2);border:1px solid var(--border);border-radius:10px; padding:10px 12px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:10px; } .quick-picker-box select{margin:0;font-size:13px;padding:8px 10px;background:var(--surface);} .btn-save-inline{ border:none;background:none;color:var(--accent-dark);font-size:11.5px; font-weight:700;cursor:pointer;padding:4px 0;display:inline-flex;align-items:center;gap:4px; } .btn-save-inline:hover{text-decoration:underline;} /* ---------- Settings ---------- */ .settings-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);margin:0 0 12px;} .kv{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;padding:7px 0;font-weight:500;} .muted{color:var(--ink-faint);font-size:12.5px;} .muted.small{line-height:1.6;} .danger-zone{border-left-color:var(--danger);} .about{background:var(--surface-2);border-left-color:var(--border-strong);} /* ---------- Bottom nav ---------- */ .bottom-nav{ position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex; background:color-mix(in srgb, var(--surface) 95%, transparent);backdrop-filter:blur(12px); border-top:1px solid var(--border);padding:9px 6px calc(9px + env(safe-area-inset-bottom)); box-shadow:0 -4px 20px rgba(18,23,43,.06); } .nav-btn{ flex:1;background:none;border:none;display:flex;flex-direction:column;align-items:center;gap:3px; padding:5px 0;color:var(--ink-faint);cursor:pointer;border-radius:10px; } .nav-btn span{font-size:19px;} .nav-btn small{font-size:10px;font-weight:700;} .nav-btn.is-active{color:var(--coral);} /* ---------- Toast ---------- */ .toast{ position:fixed;left:50%;bottom:92px;transform:translate(-50%,20px); background:var(--ink);color:var(--bg);padding:12px 20px;border-radius:30px; font-size:13px;font-weight:600;opacity:0;pointer-events:none;transition:all .25s ease;z-index:50; box-shadow:0 10px 28px rgba(0,0,0,.25); } .toast.show{opacity:1;transform:translate(-50%,0);} @media (max-width:360px){ .hero-title{font-size:34px;} .row2{grid-template-columns:1fr;} .ps-cols{grid-template-columns:1fr;} .land-hero-title{font-size:27px;} }
IK

Free · No Signup · Works Offline

Invoices & salary slips,
done in a minute.

GST-ready invoices aur professional salary slips — Hindi ya English mein. Sab kuch aapke device par, hamesha ke liye free.

🧾
GST Invoices

CGST/SGST auto split, discounts, multi-currency

💰
Salary Slips

PF, ESI, TDS, net pay in words

📴
Offline & Private

No server, no signup — data stays on your device

IK InvoiceKit