Skip to content

Releases: Samsiani/gn-industrial-custom-invoice-generator

Release v4.9.34

Choose a tag to compare

@Samsiani Samsiani released this 08 Jun 16:40

Hotfix: the ს/კ ან პ/ნ field could still receive the customer name via the autocomplete's keyboard (arrow-key) focus handler. The buyer autocomplete is now fully field-aware — the ს/კ field always keeps the ID.

Full Changelog: v4.9.33...v4.9.34

Release v4.9.33

Choose a tag to compare

@Samsiani Samsiani released this 08 Jun 16:33

Hotfix on top of v4.9.32: when choosing an autocomplete suggestion on the ს/კ ან პ/ნ field, the field now keeps the typed ID (and locks the buyer identity) instead of showing the customer's name.

Full Changelog: v4.9.32...v4.9.33

Release v4.9.32

Choose a tag to compare

@Samsiani Samsiani released this 08 Jun 16:21
8270677

Invoice buyer/client integrity

Fixes the statistics-vs-dashboard client mismatch (e.g. an invoice showing a different buyer in the statistics page than in the accountant dashboard).

  • Statistics now shows each invoice's own buyer snapshot (COALESCE(NULLIF(i.buyer_name,''), c.name)) instead of the shared customer record's mutable name; search also matches buyer_name / buyer_tax_id. Buyer snapshot (buyer_*) is now written to wp_cig_invoices on every save.
  • sync_customer() no longer overwrites an existing customer when a later invoice reuses the same tax_id — identity keyed by ს/კ ან პ/ნ is immutable (this was corrupting shared placeholder customers like 000).
  • Form auto-fill + lock: entering an existing ს/კ ან პ/ნ auto-fills the buyer name/phone/address and locks them until the ID is changed (new cig_lookup_by_tax AJAX against wp_cig_customers), with a server-side backstop on save.

Accompanying one-time data repairs (synthetic 99… IDs for no-real-ID buyers, re-homing wrongly-merged invoices) were applied to the database separately; money totals unchanged.

What's Changed

  • Fix invoice client mismatch: real-buyer snapshot + immutable customer identity by @Samsiani in #26

Full Changelog: v4.9.31...v4.9.32

Release v4.9.31

Choose a tag to compare

@github-actions github-actions released this 08 Jun 00:29

Full Changelog: v4.9.28...v4.9.31

Release v4.9.28

Choose a tag to compare

@github-actions github-actions released this 30 May 11:55

Full Changelog: v4.9.27...v4.9.28

Release v4.9.27

Choose a tag to compare

@github-actions github-actions released this 30 May 11:50

Full Changelog: v4.9.26...v4.9.27

Release v4.9.24

Choose a tag to compare

@github-actions github-actions released this 27 May 19:44

Full Changelog: v4.9.23...v4.9.24

Release v4.9.23

Choose a tag to compare

@github-actions github-actions released this 27 May 19:39

Full Changelog: v4.9.22...v4.9.23

Release v4.9.22

Choose a tag to compare

@github-actions github-actions released this 27 May 19:32

Full Changelog: v4.9.21...v4.9.22

Release v4.9.21

Choose a tag to compare

@Samsiani Samsiani released this 23 May 11:36

Fix: Mixed sold+reserved invoices now visible

Invoices that contain BOTH sold and reserved items (e.g. N250004317) were stored with _cig_lifecycle_status='unfinished' and were therefore hidden from:

  • Accountant invoice table (only showed completed + reserved)
  • User mini-dashboard "Reserved" filter (only showed reserved)

Changes

  • Accountant table query: include unfinished in the lifecycle filter. The existing total > 0 guard still excludes empty/all-canceled invoices.
  • Mini-dashboard "Reserved" filter: match _cig_lifecycle_status IN ('reserved', 'unfinished'). A standard unfinished invoice always has at least one reserved item.

Untouched

Write logic, stock manager, statistics, admin columns, templates, mark-as-sold, migration. Filter-only fix.

Full Changelog: v4.9.20...v4.9.21