Skip to content

v0.4.9

Choose a tag to compare

@shubhiscoding shubhiscoding released this 09 Oct 16:05
· 3 commits to main since this release
25ab416
Feat/payment and bill dates (#2)

* feat: payment dates, date-only display, DD/MM/YY, stock and billing UX

Payments:
- Payments recorded later (bill detail and buyer-level) take the date the
  user picks, with the current time. Payments recorded while creating a
  bill take the bill date.
- Backend accepts optional paidAt on bill and buyer payment endpoints;
  invalid values return 400 INVALID_PAID_AT. Omitted paidAt keeps the old
  behaviour (now).
- Bill payment lists report the deposit time, sorted oldest first. Legacy
  payments with no deposit fall back to their own paidAt.
- Bill date is sent as UTC so the server does not read it in its own
  timezone.

Display:
- API timestamps are shown in device local time.
- Dates use DD/MM/YY. Date pickers use the en-GB locale so text entry is
  day/month/year.
- Payment and bill dates show date only, no time.

Stock and billing:
- Stocks list sorted by most recently updated, including live updates.
- Add-new row pinned below the results in the buyer and product pickers.
- Adding a product from billing hides the quantity field and creates the
  item at 0. Regular add/edit keeps quantity.
- Payment choices are more prominent. Bill detail has a share action with
  the bill ID at the bottom.

Tests: 11 backend tests for payment dates, list order and fallback; Flutter
tests for the UTC payloads. Replaces the stale template counter test with a
smoke test that builds the app inside the providers main() sets up.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>

* fix: update version to 0.4.9+5 in pubspec.yaml

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Haiku 5.5 <noreply@anthropic.com>