Release 1.2.0: Reset all data #3
@@ -8,7 +8,7 @@ connection. The only optional network feature is the ERPNext push, which you con
|
|||||||
|
|
||||||
Targets: Void Linux (xbps, WebKitGTK 2.50 or newer) and Windows 10/11 (NSIS installer, WebView2).
|
Targets: Void Linux (xbps, WebKitGTK 2.50 or newer) and Windows 10/11 (NSIS installer, WebView2).
|
||||||
|
|
||||||
Current release: **1.0.2**. Installers and the Void package are attached to the release on the project's Gitea
|
Current release: **1.1.0**. Installers and the Void package are attached to the release on the project's Gitea
|
||||||
page (see "Installing").
|
page (see "Installing").
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
@@ -19,8 +19,8 @@ page (see "Installing").
|
|||||||
series prefix or digits.
|
series prefix or digits.
|
||||||
- **Invoices.** Automatic numbering in a persistent series (for example `INV/2026-001`) with a one-click new series,
|
- **Invoices.** Automatic numbering in a persistent series (for example `INV/2026-001`) with a one-click new series,
|
||||||
drafts, issue and cancel. An issued invoice is immutable: it stores a snapshot of the vendor, client, GST figures
|
drafts, issue and cancel. An issued invoice is immutable: it stores a snapshot of the vendor, client, GST figures
|
||||||
and layout. Line items are a fixed amount or rate x quantity (per second, minute, hour, session or unit), with
|
and layout. Line items are a fixed amount or rate x quantity in a unit of measure (time, distance, area, weight,
|
||||||
item presets.
|
volume, a count, or a custom unit; a time typed as `4:30` counts as 4.5 hours), with item presets.
|
||||||
- **GST.** All money and tax maths is done in integer paise. CGST+SGST, IGST or UTGST follow from the supplier's
|
- **GST.** All money and tax maths is done in integer paise. CGST+SGST, IGST or UTGST follow from the supplier's
|
||||||
state and the place of supply, and a mismatch is rejected. An unregistered vendor gets a plain "Invoice" with no
|
state and the place of supply, and a mismatch is rejected. An unregistered vendor gets a plain "Invoice" with no
|
||||||
tax. GSTIN, PAN, IFSC, email and phone are validated; amounts are written in Indian words.
|
tax. GSTIN, PAN, IFSC, email and phone are validated; amounts are written in Indian words.
|
||||||
@@ -85,11 +85,11 @@ The release procedure, including the manual first-run checklist, is in `docs/REL
|
|||||||
## Installing
|
## Installing
|
||||||
|
|
||||||
Download the files for your platform from the release page of the project on `git.bongbetic.com` (Releases, then
|
Download the files for your platform from the release page of the project on `git.bongbetic.com` (Releases, then
|
||||||
`v1.0.2`).
|
`v1.1.0`).
|
||||||
|
|
||||||
- **Windows 10/11:** run `Voiced_1.0.2_x64-setup.exe`. It is a per-user install and is not code-signed, so Windows
|
- **Windows 10/11:** run `Voiced_1.1.0_x64-setup.exe`. It is a per-user install and is not code-signed, so Windows
|
||||||
SmartScreen may warn: choose "More info", then "Run anyway".
|
SmartScreen may warn: choose "More info", then "Run anyway".
|
||||||
- **Void Linux:** install `voiced-1.0.2_1.x86_64.xbps` from a local repository (see "Installing on Void Linux").
|
- **Void Linux:** install `voiced-1.1.0_1.x86_64.xbps` from a local repository (see "Installing on Void Linux").
|
||||||
|
|
||||||
On first launch the setup wizard asks for your business details, logo, bank account and invoice numbering. Nothing is
|
On first launch the setup wizard asks for your business details, logo, bank account and invoice numbering. Nothing is
|
||||||
pre-filled. Uninstalling does not delete your data (see "Where data lives"); to start from scratch use
|
pre-filled. Uninstalling does not delete your data (see "Where data lives"); to start from scratch use
|
||||||
|
|||||||
@@ -71,6 +71,11 @@ Linux and Windows. Windows has never been run on real hardware, so treat it as u
|
|||||||
- **Template picker.** Open all 14 templates; switch A4 and Letter and the margin presets; check the logo slots.
|
- **Template picker.** Open all 14 templates; switch A4 and Letter and the margin presets; check the logo slots.
|
||||||
- **Export.** Issue an invoice; export searchable and flattened; change settings and re-export; "Original as issued"
|
- **Export.** Issue an invoice; export searchable and flattened; change settings and re-export; "Original as issued"
|
||||||
must be byte-identical to the archived PDF. On Windows, check file names with `/`, `:` and reserved names.
|
must be byte-identical to the archived PDF. On Windows, check file names with `/`, `:` and reserved names.
|
||||||
|
- **Export, then New invoice.** Issue and export in both formats through the real save dialog, press "New invoice",
|
||||||
|
issue and export a second one. The window must stay usable after every export (1.1.0 fixed a blank window caused
|
||||||
|
by buttons inside a Carbon notification; the dialog itself can only be checked by hand).
|
||||||
|
- **Units.** Add a rate line in hours typed as `4:30` (amount counts 4.5), one in km and one with a custom unit;
|
||||||
|
check the quantity and rate columns on a few templates and A4/Letter.
|
||||||
- **Fonts.** Settings, Fonts: import a TTF for Now, Gotham or Open Sauce One (if a licensed file is at hand), confirm
|
- **Fonts.** Settings, Fonts: import a TTF for Now, Gotham or Open Sauce One (if a licensed file is at hand), confirm
|
||||||
a template that uses it changes, remove it again.
|
a template that uses it changes, remove it again.
|
||||||
- **Clients.** Create a client with structured address and GST category; use it on an invoice.
|
- **Clients.** Create a client with structured address and GST category; use it on an invoice.
|
||||||
|
|||||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "voiced",
|
"name": "voiced",
|
||||||
"version": "1.0.2",
|
"version": "1.1.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "voiced",
|
"name": "voiced",
|
||||||
"version": "1.0.2",
|
"version": "1.1.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@carbon/icons-react": "^11.89.0",
|
"@carbon/icons-react": "^11.89.0",
|
||||||
"@carbon/react": "^1.117.0",
|
"@carbon/react": "^1.117.0",
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "voiced",
|
"name": "voiced",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.0.2",
|
"version": "1.1.0",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"description": "Voiced — offline invoicing desktop app by Bongbetic",
|
"description": "Voiced — offline invoicing desktop app by Bongbetic",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
# pure Rust and need no extra system libraries.
|
# pure Rust and need no extra system libraries.
|
||||||
#
|
#
|
||||||
pkgname=voiced
|
pkgname=voiced
|
||||||
version=1.0.2
|
version=1.1.0
|
||||||
revision=1
|
revision=1
|
||||||
archs="x86_64*"
|
archs="x86_64*"
|
||||||
hostmakedepends="rust nodejs pkg-config"
|
hostmakedepends="rust nodejs pkg-config"
|
||||||
|
|||||||
Generated
+1
-1
@@ -4647,7 +4647,7 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "voiced"
|
name = "voiced"
|
||||||
version = "1.0.2"
|
version = "1.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64 0.22.1",
|
"base64 0.22.1",
|
||||||
"chrono",
|
"chrono",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "voiced"
|
name = "voiced"
|
||||||
version = "1.0.2"
|
version = "1.1.0"
|
||||||
license = "Apache-2.0"
|
license = "Apache-2.0"
|
||||||
description = "Voiced — offline invoicing desktop app by Bongbetic"
|
description = "Voiced — offline invoicing desktop app by Bongbetic"
|
||||||
authors = ["Bongbetic"]
|
authors = ["Bongbetic"]
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://schema.tauri.app/config/2",
|
"$schema": "https://schema.tauri.app/config/2",
|
||||||
"productName": "Voiced",
|
"productName": "Voiced",
|
||||||
"version": "1.0.2",
|
"version": "1.1.0",
|
||||||
"identifier": "com.bongbetic.voiced",
|
"identifier": "com.bongbetic.voiced",
|
||||||
"build": {
|
"build": {
|
||||||
"beforeDevCommand": "npm run dev",
|
"beforeDevCommand": "npm run dev",
|
||||||
|
|||||||
Reference in New Issue
Block a user