Skip to content

Conversation

@defendicon
Copy link

Several Bugs Fixed Include
Edit Rate Fixed
Edit Discount Fixed
Partial Payment Fixed
Additional Discount Fixed
Show Customer Ledger Aside Date Field

Please Highlight any bugs and process so more bugs can be fixed.

@defendicon defendicon closed this Apr 25, 2025
@defendicon defendicon reopened this Apr 25, 2025
google-labs-jules bot and others added 28 commits December 20, 2025 07:25
- In `ItemsSelector.vue`:
    - Remove the blocking `await update_items_details([item])` call in `add_item`.
    - Pass `true` (skipServerValidation) to `validateCartItem` to bypass blocking stock checks.
- In `useCartValidation.js`:
    - Add `skipServerValidation` parameter to `validateCartItem`.
    - When true, skip the synchronous `validateStockOnServer` call.
- This allows items to be added instantly to the cart UI while background sync handles details fetching and server-side validation.
…nvoice processing.

- I increased the timeout from 1000s to 3000s for background invoice processing.
- I switched the queue from 'short' to 'default' to handle longer processing times.
- This resolves issues where invoices with many items (>100) fail to process in the background.
- Catch exceptions in `submit_in_background_job` in `posawesome/posawesome/api/invoices.py`.
- Log the error and publish a `pos_invoice_submit_error` realtime event.
- Add a listener in `frontend/src/posapp/posapp.js` to display the error to the user via `frappe.msgprint` and `show_message`.
- This ensures users are aware if a background submission fails, addressing the "silent failure" issue.
feat: Add notification bell for background invoice submission errors
chore: Refine navbar offline sync notifications and layout
Preserves the `_manual_rate_set` and `_manual_rate_set_from_uom` flags when creating a new item in `useItemAddition.js`. This ensures that rate calculations derived from specific barcode UOMs (handled in `ItemsSelector.vue`) are treated as manual overrides and are not discarded by subsequent server syncs or pricing rule applications.
fix: prevent barcode UOM rate from being reset by server updates
feat: Normalize Cart State in Invoice Store
Added descriptions for recently implemented features including Shift Management, System Monitoring Gadgets, Quotations, Camera Scanner, Background Sync, and Performance optimizations to the main features list. This ensures the documentation accurately reflects the current capabilities of the application.
Restructured the 'Main Features' section into categorized subsections (UI/UX, Transactions, Inventory, Payments, Offline, Configuration) to improve readability. Added descriptions for newly implemented features including Dark Mode, RTL Support, Smart Tender, Customer Balance, Posting Date editing, Price List selection, Customer POs, Sales Order Only mode, Write Off Change, Additional Notes, and Local Storage options.
chore: Update README with new features
…atures-17850103927023345282

Revert "Update README with new features"
chore: Update readme features 17850103927023345282
Removes the 'Recalculate Prices' button from the invoice interface as requested. This includes removing the button element from the template and cleaning up the associated `reconcile_prices` method and `pricing_reconcile_in_progress` data property in `Invoice.vue`. This simplifies the UI by removing a manual reconciliation action that is likely handled automatically or deemed unnecessary.
chore: Remove Recalculate Prices Button
The `expand-on-click` functionality in `ItemsTable.vue` was broken because the default row rendering was overridden by a custom `item` slot using `CartItemRow.vue`. In Vuetify 3's `v-data-table-virtual`, overriding the `item` slot requires manually invoking the expansion logic.

This change:
1.  Destructures `toggleExpand` and `internalItem` from the `item` slot scope in `ItemsTable.vue`.
2.  Passes these properties to `handleRowClick`.
3.  Updates `handleRowClick` to call `toggleExpand(internalItem)`, restoring the expected behavior of expanding the row when clicked.

Additionally, a build error in `frontend/src/posapp/components/pos/invoiceItemMethods.js` was fixed by changing a `const` declaration to `let` for the `freeLine` variable, allowing necessary reassignment during item addition. A syntax error (nested `if` block with missing braces) introduced during a previous build fix attempt was also corrected.
fix: Items Table Expansion and Build Error
defendicon and others added 30 commits January 13, 2026 14:12
fix: Use `toSelectedCurrency` for converted price list rate in discounts
…ayment-methods

Feat/manaa0 0/multi currency payment methods support with custom exchange rates
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
ensures the helper function consistently returns null if the input amount is null

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Fixes SQL validation error in search_invoices_for_return function.
Frappe no longer allows raw SQL functions in get_list fields parameter.
Using frappe.db.count() is the recommended approach for counting records.
Release 15.18.0 — January 17, 2026
### ✨ Features
- add multi-currency payment support with custom exchange rates
- add multi-currency support for payment methods
_Total: 2 changes_

### 🐞 Bug Fixes
- alt shortcut detection for non-Latin layouts
- Android/Mobile Navbar Menu Height and Scrolling
- Auto-assign batch numbers during bulk item detail refreshes
- Auto-assign batch numbers for unexpanded items when auto-set is enabled
- auto-select batch after refresh
- auto-select batch before payment
- auto-select batch before payment submission
- batch issue for return without invoices
- Cache Clearing Logic for Reload Items.
- centralize plc to company rate lookup
- display outstanding amounts in party account currency
- display outstanding amounts in party account currency
- display outstanding amounts summary in party account currency
- display outstanding amounts summary in party account currency
- filter logic for return batches
- filter logic for return batches
- filter out expired batches
- filter out expired batches and refactoring
- Implement Standardized Search Logic and Improved Limit Search UX with Memory Optimization
- Implementing Full Server Reload for Items by Clicking Reload Items
- Improve Reload Item Function by Bypassing Server Cache.
- ItemDetailAggregator in item_fetchers file to bypass server cache.
- keep item selector rates in plc when plc=sc
- multi-currency support and journal entry aggregation
- multi-currency support and journal entry aggregation
- normalize price list rate to company currency
- normalize price list rate to company currency and prevent PLC=SC double-conversion
- POS 'block sale beyond available qty' flag parsing
- POS price list precedence across pay flow
- POS price list stability
- prefer available batch qty for auto-select
- prevent price inflation in multi-currency POS transactions
- prevent price inflation in multi-currency POS transactions
- prevent price inflation in multi-currency POS transactions
- prevent price inflation in multi-currency POS transactions
- prevent price inflation in multi-currency POS transactions
- prevent price inflation in multi-currency POS transactions
- prevent price inflation in multi-currency POS transactions
- prevent price inflation in multi-currency POS transactions
- prevent price inflation in multi-currency POS transactions
- prevent price inflation in multi-currency POS transactions
- print view behavior for new-tab mode (strict trigger_print, offline fallback, debug logging)
- Refactor update store version normalization
- Replace deprecated frappe.get_list count query with frappe.db.count
- Replace deprecated frappe.get_list count query with frappe.db.count
- Respect POS Profile and Allow Negative Stock when adding items
- search logic implementations and initial load memory usage and Reload Items
- Synchronization & State Management Cleanup
- Use `toSelectedCurrency` for converted price list rate in discounts
- improve mobile menu size and scrolling on Android (ui)
_Total: 50 changes_

### 🧰 Maintenance
- Move new-customer shortcut from F5 to F6
- centralize currency conversion helpers and refactor composables
- centralize currency conversions
- Optimize batch filtering and date calculation
- optimize readability.
- use shared currency guard clauses
_Total: 6 changes_

— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants