Privacy Policy
BillSetu is a local-first billing app for parties, items, stock, invoices, payments, expenses, reminders, and sync status. This policy explains what the app stores and how optional backend sync works.
The short version: billing records are stored locally first so invoices and payment work remain usable during network or server outages. When sync is configured, pending changes are sent to the BillSetu backend for your business workspace. Optional ads, analytics, client issue reporting, and billing SDKs may process device-level data under their own policies.
Data You Enter
- Business profile: business and legal name, phone, email, GST registration and GSTIN, state, address, city, PIN code, invoice prefix, bank account holder, account number, IFSC and bank name, and UPI ID. The GSTIN you enter is printed on the invoices and share links you send, and on your online store page if you publish one.
- Staff you invite, and party/customer details: name, contact person, phone, email, GSTIN, billing and shipping address, opening balance and credit limit.
- Item, stock and catalogue information, including SKU, HSN and barcode.
- Invoices, estimates, trade documents, payments, expenses, reminders, and report summaries.
- Anything you type into a free-text field, such as notes on a party, a payment, an expense or a stock movement.
- Optional share/export content generated from invoice or PDF previews.
Local Storage and Offline Use
BillSetu keeps operational records in local app storage and marks pending changes for sync. This lets invoices, item catalogs, payments, and reports stay visible when CodeServer or the network is unavailable. Local data is removed when the app is uninstalled unless it has already synced to the backend.
Cloud Sync
If backend sync is enabled, pending local records are sent to CodeServer and remote changes are pulled back into the app. Sync requests are scoped by business workspace and authentication configuration.
Diagnostics, Feedback, Ads, and Billing
- Feedback opens the shared Trei feedback form with the BillSetu app identifier.
- Client issue reporting and analytics use masked payloads for startup, sync, settings, premium, ad, and important-failure events.
- Analytics events carry a random install identifier the app creates on first launch. It is not linked to your name, email, phone number or account, and it is not your advertising identifier. Our server hashes it before storing it, and it is used only to count how many installs reach each step. It is removed when you clear the app’s data or uninstall it.
- Crash reports from the app carry the error message and stack trace, the app version and the package name. Diagnostics carry the app version and how many changes are waiting to sync.
- Free builds may show ads through Google AdMob, with Meta Audience Network as a fallback when AdMob has nothing to serve, where consent allows. Both receive your device’s advertising identifier and your interactions with the ad, under their own policies. Premium removes ads.
- RevenueCat is used for the optional remove-ads Premium purchase and restore flow, and holds your subscription and purchase history for that purpose. It identifies your device by an anonymous id of its own, not by your name or email.
Contact
Trei
Email: contact@trei.dev
Website: trei.dev ยท Contact form