diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000000..6845503d96 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,21 @@ +# Root editor config file +root = true + +# Common settings +[*] +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true +charset = utf-8 + +# python, js indentation settings +[{*.py,*.js,*.vue,*.css,*.scss,*.html}] +indent_style = tab +indent_size = 4 +max_line_length = 110 + +# JSON files - mostly doctype schema files +[{*.json}] +insert_final_newline = false +indent_style = space +indent_size = 1 \ No newline at end of file diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 0000000000..fbf6b7d913 --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,11 @@ +module.exports = { + root: true, + env: { browser: true, es2020: true, node: true }, + extends: [ + 'eslint:recommended', + 'plugin:vue/vue3-essential', + 'plugin:vuetify/base' + ], + plugins: ['vue', 'vuetify'], + parserOptions: { ecmaVersion: 2020, sourceType: 'module' }, +}; diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml new file mode 100644 index 0000000000..80d4fa0204 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -0,0 +1,44 @@ +name: "🐞 Bug report" +description: Report a reproducible problem +labels: [bug, needs-triage] +body: + - type: input + id: env + attributes: + label: Environment + description: OS, Node, Browser versions + placeholder: "Ubuntu 22.04, Node 20.x, Chrome 139" + validations: + required: true + - type: textarea + id: steps + attributes: + label: Steps to reproduce + description: Numbered steps + minimal sample + placeholder: "1) ... 2) ... 3) ..." + render: bash + validations: + required: true + - type: textarea + id: expected + attributes: + label: Expected behavior + validations: + required: true + - type: textarea + id: actual + attributes: + label: Actual behavior / logs + description: Include screenshots and **full** error text + render: text + validations: + required: true + - type: checkboxes + id: checks + attributes: + label: Pre-submit checks + options: + - label: I searched existing issues + required: true + - label: I can reproduce on the latest release + required: true diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 021a35480d..0000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: "[BUG]: " -labels: '' -assignees: '' - ---- - - -- Erpnext: -- POS Awesome: - -### Stacktrace / full error message - -```javascript -(paste here) -``` - -### Steps to reproduce - -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See the error - -### What is Expected? - - -### What is actually happening? - - -### Additional context -Add any other context about the problem here. - - -### Screenshots -If applicable, could you add screenshots to help explain your problem? diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000000..a64efdd6a3 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: Questions / Support + url: https://github.com/defendicon/POS-Awesome-V15/discussions + about: Ask and discuss here diff --git a/.github/ISSUE_TEMPLATE/feature.yml b/.github/ISSUE_TEMPLATE/feature.yml new file mode 100644 index 0000000000..51bd7ba2d3 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature.yml @@ -0,0 +1,30 @@ +name: "🌟 Feature request" +description: Propose an enhancement +labels: [feature, needs-triage] +body: + - type: textarea + id: problem + attributes: + label: Problem to solve + description: What pain point does this address? + validations: + required: true + - type: textarea + id: proposal + attributes: + label: Proposed solution + description: Describe UI/UX, API, config, or examples + validations: + required: true + - type: input + id: scope + attributes: + label: Out of scope (if any) + placeholder: "Not changing X, Y" + - type: checkboxes + id: impact + attributes: + label: Impact + options: + - label: Backward compatible + - label: Breaking change (requires major version) diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 0b2e077423..0000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: "[Feature request]: " -labels: '' -assignees: '' - ---- - - - -### Is your feature request related to a problem? Please describe. - - - - -### Describe the solution you'd like - - - - -### Describe alternatives you've considered - - - - -### Additional context - - - diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000000..95240affa9 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,107 @@ +name: CI + +on: + push: + branches: ['**'] + pull_request: + branches: ['**'] + +jobs: + build: + runs-on: ubuntu-22.04 + + services: + mariadb: + image: mariadb:10.6 + ports: + - 3306:3306 + env: + MYSQL_USER: user + MYSQL_PASSWORD: frappe + MYSQL_DATABASE: test + MYSQL_ROOT_PASSWORD: frappe + options: >- + --health-cmd="mysqladmin ping --silent" + --health-interval=10s + --health-timeout=5s + --health-retries=5 + -v ${{ github.workspace }}/frappe.cnf:/etc/mysql/conf.d/frappe.cnf + + steps: + - name: Checkout Repository + uses: actions/checkout@v3 + + - name: Stop Default MySQL + run: sudo service mysql stop + + - name: Install System Dependencies + run: | + sudo apt-get update + sudo apt-get install -y python3-dev python3-pip python3-setuptools python3-venv \ + libmysqlclient-dev redis-server curl software-properties-common git + + curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash - + sudo apt-get install -y nodejs yarn + + - name: Cache pip dependencies + uses: actions/cache@v3 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + + - name: Frontend Type Check and Offline Tests + run: | + cd frontend + yarn install --frozen-lockfile + yarn type-check + yarn vitest run tests/cashMovement.spec.ts tests/offlineCashMovements.spec.ts tests/loaderPathNormalization.spec.ts tests/offlineKeyMapParity.spec.ts + + - name: Install Frappe Bench CLI + run: | + pip3 install --upgrade pip + pip3 install frappe-bench + echo "$HOME/.local/bin" >> $GITHUB_PATH + + - name: Initialize Frappe Bench (v15) + run: | + bench init --frappe-branch version-15 --python python3 frappe-bench + + - name: Setup Site and Install App (Dynamic) + run: | + cd frappe-bench + + # Detect the branch name that triggered the workflow + # Use GITHUB_HEAD_REF for pull request events, otherwise fall back to GITHUB_REF + BRANCH_NAME="${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" + + # Find the app path dynamically (search for hooks.py) + APP_PATH=$(find ../ -maxdepth 2 -type f -name "hooks.py" | head -n 1 | xargs dirname) + + # Extract the app folder name + APP_NAME=$(basename "$APP_PATH") + + echo "Detected App Path: $APP_PATH" + echo "Detected App Name: $APP_NAME" + echo "Using Branch: $BRANCH_NAME" + + # Create site + bench new-site example.com \ + --mariadb-root-password frappe \ + --admin-password frappe \ + --no-mariadb-socket + + # Install ERPNext + bench get-app --branch version-15 https://github.com/frappe/erpnext + bench --site example.com install-app erpnext + + # Install local app using current branch + bench get-app --branch "$BRANCH_NAME" "https://github.com/${GITHUB_REPOSITORY}.git" + bench --site example.com install-app "$APP_NAME" + + # Build frontend assets + bench build + + # Show installed apps + bench --site example.com list-apps diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000000..36df594073 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,69 @@ +name: Docs + +permissions: + contents: read + +on: + push: + branches: ["**"] + pull_request: + branches: ["**"] + +jobs: + docs-check: + name: TypeDoc check + runs-on: ubuntu-22.04 + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: "20" + cache: "yarn" + cache-dependency-path: frontend/yarn.lock + + - name: Install frontend dependencies + working-directory: frontend + run: yarn install --frozen-lockfile + + - name: Validate TypeDoc entry points + working-directory: frontend + # docs:check runs TypeDoc without writing output so CI stays clean. + # Exit code is non-zero if any entry point has TypeDoc errors. + run: yarn docs:check + + docs-generate: + name: Generate & upload API reference + runs-on: ubuntu-22.04 + # Only run on pushes to develop or main so we don't create an artifact on every PR branch. + if: github.event_name == 'push' && (github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/main') + needs: docs-check + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: "20" + cache: "yarn" + cache-dependency-path: frontend/yarn.lock + + - name: Install frontend dependencies + working-directory: frontend + run: yarn install --frozen-lockfile + + - name: Generate API docs + working-directory: frontend + run: yarn docs:generate + + - name: Upload API reference artifact + uses: actions/upload-artifact@v4 + with: + name: api-docs + path: frontend/docs/api/ + retention-days: 30 diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml new file mode 100644 index 0000000000..5588a767f0 --- /dev/null +++ b/.github/workflows/format.yml @@ -0,0 +1,81 @@ +name: Format (Manual) + +on: + workflow_dispatch: + inputs: + mode: + description: "Run mode: check = verify only, write = format & commit" + type: choice + options: [check, write] + default: check + prettier_glob: + description: 'Prettier file glob (optional)' + required: false + default: '**/*.{js,vue,css,scss,html}' + python_version: + description: "Python version" + type: choice + options: ["3.10", "3.11"] + default: "3.10" + +permissions: + contents: write + +jobs: + format: + if: github.actor != 'github-actions[bot]' + runs-on: ubuntu-latest + env: + MODE: ${{ github.event.inputs.mode }} + PRETTIER_GLOB: ${{ github.event.inputs.prettier_glob }} + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Install Node dependencies + run: yarn install --frozen-lockfile + + - name: Prettier (check/write) + run: | + if [ -z "$PRETTIER_GLOB" ]; then PRETTIER_GLOB='**/*.{js,vue,css,scss,html}'; fi + if [ "$MODE" = "write" ]; then + npx prettier --write "$PRETTIER_GLOB" + else + npx prettier --check "$PRETTIER_GLOB" + fi + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: ${{ github.event.inputs.python_version }} + + - name: Install Python formatting tools + run: | + if [ -f requirements-dev.txt ]; then + pip install -r requirements-dev.txt + else + pip install black + fi + + - name: Black (check/write) + run: | + if [ "$MODE" = "write" ]; then + black . + else + black --check . + fi + + - name: Commit changes (only in write mode) + if: env.MODE == 'write' + uses: stefanzweifel/git-auto-commit-action@v5 + with: + commit_message: "chore: format code" + commit_user_name: GitHub Actions + commit_user_email: actions@github.com diff --git a/.github/workflows/need-more-info.yml b/.github/workflows/need-more-info.yml new file mode 100644 index 0000000000..fcceef2cb0 --- /dev/null +++ b/.github/workflows/need-more-info.yml @@ -0,0 +1,52 @@ +name: Request more info on low-detail issues +on: + issues: + types: [opened, edited] + +permissions: + issues: write + +jobs: + check: + runs-on: ubuntu-latest + steps: + - name: Evaluate issue body + uses: actions/github-script@v7 + with: + script: | + const issue = context.payload.issue; + const body = (issue.body || "").trim(); + const minLen = 180; // adjust if needed + const mustHave = ["Steps to reproduce", "Expected", "Actual"]; + const lc = body.toLowerCase(); + + const missing = mustHave.filter(k => !lc.includes(k.toLowerCase())); + const tooShort = body.replace(/\s+/g,' ').length < minLen; + + if (tooShort || missing.length) { + const tips = [ + "Thanks for opening an issue! 👋", + "Please add the following details:", + "- **Environment** (OS/Node/Browser)", + "- **Steps to reproduce** (numbered)", + "- **Expected vs Actual** with screenshots/logs", + "", + "When ready, comment `@maintainers info provided` to re-check. 🙏" + ].join("\n"); + + await github.rest.issues.createComment({ + ...context.repo, + issue_number: issue.number, + body: tips + }); + + // add label if not present + const labels = issue.labels.map(l => typeof l === "string" ? l : l.name); + if (!labels.includes("needs-info")) { + await github.rest.issues.addLabels({ + ...context.repo, + issue_number: issue.number, + labels: ["needs-info"] + }); + } + } diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000000..e04062945d --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,37 @@ +name: Release + +on: + workflow_dispatch: + +permissions: + contents: write + +concurrency: + group: release-${{ github.ref }} + cancel-in-progress: true + +jobs: + release: + runs-on: windows-latest + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: yarn + + - name: Install dependencies + run: yarn install --frozen-lockfile + + - name: Release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + run: npx semantic-release diff --git a/.github/workflows/snapshot-mirror.yml b/.github/workflows/snapshot-mirror.yml new file mode 100644 index 0000000000..5951fc54a0 --- /dev/null +++ b/.github/workflows/snapshot-mirror.yml @@ -0,0 +1,39 @@ +name: Snapshot (Mirror + LFS) + +on: + workflow_dispatch: + +permissions: + contents: write + +jobs: + mirror: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: { fetch-depth: 0 } + + - name: Install Git LFS + run: | + git lfs install + git lfs fetch --all + + - name: Pack .git mirror + run: | + # Make a bare mirror folder + git clone --mirror . mirror.git + cd mirror.git + # LFS objects already fetched in parent .git; copy them + mkdir -p lfs-copy && cd .. + rsync -a .git/lfs mirror.git/lfs || true + cd mirror.git/.. + TAR=repo-mirror-$(date +%Y%m%d-%H%M%S).tar.gz + tar -czf "$TAR" mirror.git + echo "MIRROR=$TAR" >> $GITHUB_ENV + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: ${{ env.MIRROR }} + path: ${{ env.MIRROR }} + retention-days: 60 diff --git a/.gitignore b/.gitignore index 411c38205d..e554764502 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,31 @@ .DS_Store *.pyc +__pycache__/ +**/__pycache__/ *.egg-info *.swp tags posawesome/docs/current node_modules -posawesome/public/dist \ No newline at end of file +posawesome/public/dist +# ignore Vue single-file component styles generated during build +**/*.vue.css +/dist +package-lock.json +frappe-bench/ +vite.log +*.log +bench.log +bench_start.log +frontend/build_log_*.txt +dist-electron/ +nul +.env +.env.local +.env.*.local +frontend/.env +frontend/.env.local +frontend/.env.*.local +frontend/playwright/.auth/ +__reference_erpnext/ +.claude/settings.local.json diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000000..2f449d4b14 --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +posawesome/posawesome/doctype/pos_closing_shift/closing_shift_details.html diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000000..c57dfe9dd3 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,5 @@ +{ + "useTabs": true, + "tabWidth": 4, + "singleQuote": false +} diff --git a/CAMERA_SCANNER_GUIDE.md b/CAMERA_SCANNER_GUIDE.md new file mode 100644 index 0000000000..dc36d7a5d7 --- /dev/null +++ b/CAMERA_SCANNER_GUIDE.md @@ -0,0 +1,221 @@ +# Enhanced Camera Scanner with OpenCV + +Advanced barcode and QR code scanner with real-time image processing for POSAwesome. + +## Features + +### High-Quality Camera Processing +- **High Resolution**: Supports up to 1920x1080 (Full HD) with minimum 1280x720 +- **Rear Camera Preference**: Automatically selects environment-facing camera for better barcode scanning +- **Advanced Constraints**: Continuous autofocus, exposure, and white balance control +- **Enhanced Mode**: Specialized settings for dark/black barcodes and difficult scanning conditions + +### OpenCV Image Processing Pipeline (Web Worker) +Real-time image enhancement using OpenCV.js in a separate Web Worker to prevent UI blocking: + +- **Non-Blocking Processing**: Heavy image processing runs in Web Worker thread +- **Local Loading**: OpenCV.js loads from local bundle for reliability and speed +- **Gaussian Blur**: Light noise reduction (3x3 kernel for speed) +- **Adaptive Thresholding**: Better contrast for varying lighting conditions +- **Unsharp Masking**: Advanced sharpening technique for edge enhancement +- **Morphological Operations**: Light image cleanup (3x3 kernel for speed) + +### Multiple Processing Modes +1. **Quick Process**: Real-time processing with essential filters (default) +2. **Full Process**: Complete pipeline for damaged or low-contrast barcodes +3. **Fallback Mode**: Basic processing when device constraints are not supported + +## Scanner Controls + +### Camera Settings +- **Enhanced Camera Mode**: Always uses optimized camera settings for best performance +- **High-Quality Constraints**: Full HD resolution with enhanced contrast, brightness, and sharpness + +### OpenCV Processing Toggle +- **OpenCV On**: Real-time image preprocessing enabled (recommended) +- **OpenCV Off**: Basic scanning without image enhancement + +### Hardware Controls +- **Flash/Torch**: Toggle camera flash for low-light scanning +- **Camera Switch**: Switch between front and rear cameras if multiple available + +## Supported Barcode Formats + +- QR Code +- EAN-13, EAN-8 +- Code 128, Code 39, Code 93 +- UPC-A, UPC-E +- Codabar +- ITF (Interleaved 2 of 5) + +## HTTPS Requirements + +### Security Context +- **HTTPS Required**: Camera access requires secure context (HTTPS protocol) +- **SSL Certificate**: Ensure valid SSL certificate is installed +- **Mixed Content**: Avoid loading scanner over HTTP on HTTPS sites + +### Browser Compatibility +- **Chrome/Edge**: Full feature support +- **Firefox**: Good support for most features +- **Safari**: Basic support (some advanced constraints may not work) +- **Mobile Browsers**: Optimized for mobile device cameras + +## Usage Instructions + +### Initial Setup +1. Ensure site is served over HTTPS +2. Grant camera permission when prompted +3. Point camera at barcode/QR code within the scanning frame +4. Use controls to optimize for specific scanning conditions + +### For Difficult Barcodes +1. **OpenCV Processing** is automatically optimized for dark/black barcodes +2. Use **Flash** in low-light conditions +3. Try different **Camera** angles or distances +4. Hold steady for better focus + +### Performance Optimization +- **Web Worker Processing**: Heavy OpenCV operations run in separate thread, keeping UI responsive +- **Local Loading**: OpenCV.js loads from local bundle for fast, reliable initialization +- **Frame Skipping**: Only processes every 3rd frame to prevent queue buildup +- **Processing Lock**: Prevents multiple simultaneous operations +- **Enhanced Camera Settings**: Always uses best available camera constraints +- **Automatic Fallback**: Gracefully handles worker failures and initialization issues + +## Error Handling + +### Common Issues and Solutions + +**Camera Permission Denied** +``` +Solution: Allow camera access in browser settings and refresh page +``` + +**No Camera Found** +``` +Solution: Ensure device has working camera and no other apps are using it +``` + +**HTTPS Required** +``` +Solution: Access the application over HTTPS instead of HTTP +``` + +**Constraints Not Supported** +``` +Solution: Scanner will automatically try fallback settings +``` + +## API Integration + +### Component Events +```javascript +// Listen for successful scans +@barcode-scanned="onBarcodeScanned" + +// Listen for scanner close +@scanner-closed="onScannerClosed" + +// Component props +:scan-type="'Both'" // 'QR Code', 'Barcode', 'Both' +``` + +### Event Handlers +```javascript +methods: { + onBarcodeScanned(result) { + console.log('Scanned:', result); + // Handle scanned barcode + }, + + onScannerClosed() { + console.log('Scanner closed'); + // Handle scanner close + } +} +``` + +## Technical Implementation + +### File Structure +- **Main Component**: `frontend/src/posapp/components/pos/CameraScanner.vue` +- **OpenCV Processor**: `frontend/src/posapp/utils/opencvProcessor.js` +- **Web Worker Manager**: `frontend/src/posapp/utils/opencvWorkerManager.js` +- **OpenCV Worker**: `frontend/src/posapp/workers/opencvWorker.js` +- **Dependencies**: `@techstark/opencv-js` (bundled locally), `vue-qrcode-reader` + +### Web Worker Architecture +- **Main Thread**: Camera handling, UI updates, barcode detection +- **Worker Thread**: Heavy OpenCV image processing operations +- **Communication**: Message passing with promise-based API +- **Error Handling**: Graceful fallback to main thread processing + +### Memory Management +- Automatic cleanup of OpenCV matrices in Worker thread +- Proper disposal of camera streams in main thread +- Worker cleanup on component unmount +- Error recovery and fallback handling + +### Optimized Processing Pipeline Steps (in Web Worker) +1. **Frame Capture**: Get video frame from camera (every 3rd frame) +2. **Worker Transfer**: Send ImageData to Web Worker via message passing +3. **Noise Reduction**: Light Gaussian blur (3x3 kernel for speed) +4. **Edge Enhancement**: Unsharp masking for better definition +5. **Thresholding**: Adaptive binary conversion (optimized parameters) +6. **Cleanup**: Light morphological operations (3x3 kernel) +7. **Result Transfer**: Send processed ImageData back to main thread +8. **Detection**: Barcode/QR code recognition on main thread + +## Performance Considerations + +### Device Requirements +- **Minimum**: 720p camera resolution +- **Recommended**: 1080p camera with autofocus +- **Optimal**: Rear camera with macro focus capability + +### Network Impact +- OpenCV.js library: ~11MB (bundled locally, no network dependency) +- Real-time processing: Complete offline capability +- No external dependencies: Works without internet connection +- Web Worker: Separate thread prevents POS UI blocking + +### Battery Usage +- Enhanced mode increases power consumption +- OpenCV processing uses more CPU +- Flash usage significantly drains battery + +## Troubleshooting + +### Debug Information +Check browser console for: +- OpenCV initialization status +- Camera configuration details +- Processing pipeline errors + +### Performance Issues +1. Disable OpenCV processing temporarily +2. Switch to Standard mode +3. Close other camera-using applications +4. Try different browser + +### Scanning Issues +1. Ensure good lighting conditions +2. Hold steady at appropriate distance +3. Clean camera lens +4. Try Enhanced mode for difficult barcodes + +## Security Notes + +- Camera access requires user permission +- No image data is transmitted or stored +- Processing happens entirely client-side +- Scanned results are handled by parent component + +## Support + +For technical issues: +1. Check browser console for error messages +2. Verify HTTPS is enabled +3. Test camera with other applications +4. Try different browsers for compatibility \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000000..946fd98cb5 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,2188 @@ +# Changelog + +All notable changes. + +Release 15.28.2 — April 28, 2026 +### 🐞 Bug Fixes +- Address POS review feedback for drafts, customers, discounts, and sync +- clarify item and additional discounts in payments +- close shift state reset and opening lookup +- commercial flow source serialization crash +- data-refresh after background item sync complete +- explain discount breakdown in payment totals +- Preserve percentage discount source of truth +- Prevent zero totals when selecting batches without price +- prorated return discount field display +- prorated return discount sync before payment +- respect standard barcode uom for scanned item pricing +- return invoice payment sign normalization on submit +- return payment sign normalization and discount precision +- review regressions in POS document and sync flows +- serialize item sync rows with frappe as_json +- show customer when loading quotations in POS +- Show synced item count during background item sync +- stock confidence now checks after items background sync complete +_Total: 18 changes_ + +### ⚡ Performance +- avoid repeated completed POS item +_Total: 1 changes_ + +### 🧰 Maintenance +- cleanup and strengthen local typing +- customer profile loading helper +- dedupe default layout customer startup load +- deduplicate offline sync harness setup +- Deduplicate offline sync helpers and add POS DTO reference types +- extract item input and availability helpers +- extract item scan and detail helpers +- extract item selector and store helpers +- extract item selector event bus wiring +- extract item selector initialization composable +- extract item selector layout lifecycle +- extract item selector panel sizing +- extract item selector price list and quantity helpers +- extract item selector scanner bridge and add workspace-aware knip configuration +- extract item selector search input orchestration +- extract item selector type-to-search lifecycle +- Improve POS item bootstrap loading and background sync search UX +- reduce duplicate customer load trigger in POS shell +- reduce internal utility export surface +- remove confirmed unused frontend code +- remove unused offline compatibility modules +- separate item and customer loading coordination +_Total: 22 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.28.1 — April 20, 2026 +### 🐞 Bug Fixes +- Add schema_signature to MEMORY_DEFAULTS and minor bugs +- Add startup build cache reconciliation for offline POS state +- redundant store-wide refetch and kept the visible-item refresh path intact +- Remove duplicate build reconciliation from DefaultLayout +- Skip gift card liability validation when no redemption is applied +_Total: 5 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.28.0 — April 19, 2026 +### ✨ Features +- add adaptive timer-based background offline synchronization +- add idempotency guards for offline invoice and payment sync +- add role-based item rate info with BOM cost support +- improve route loading messages and add router recovery test coverage +- open item rate info menu on hover and click +_Total: 5 changes_ + +### 🐞 Bug Fixes +- add flt fallback in setBatchQty to prevent 'flt is not a function' error +- backend idempotency layer migration-safe +- bootstrap recovery patch +- defer bootstrap warnings until startup loading settles +- empty states offers, delivery charges, currency options etc warning error +- harden offline queue, payment replay, loading scopes, and PO lookups +- keep cart item table headers aligned when toggling columns +- multiple major bugs +- prevent continuous POS reload loop from service worker controller changes +- race condition in writequeue +- refresh bootstrap sell readiness after sync and hydrate payment methods +- removed the import-time auto-init from writequeue +- run warm sync resources during operator refresh and rebuild +- Uncaught SyntaxError Cannot use import statement outside a module +_Total: 14 changes_ + +### 📝 Docs +- strengthen documentation coverage across offline and POS workflow layers +_Total: 1 changes_ + +### 🧰 Maintenance +- add capability-based bootstrap readiness and feature gating +- add loading scope helpers and document loading architecture +- clarify storage source of truth across memory localstorage and indexeddb +- isolate resource failures and improve offline sync coordination +- replace in-memory queue flow with durable indexeddb-backed queue model +- unify loading architecture across bootstrap, route, and section flows +_Total: 6 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.27.0 — April 16, 2026 +### ✨ Features +- add /app/pos desk alias for POS Awesome +- add boot-critical offline sync endpoints +- add bootstrap cache refresh helper +- add bootstrap snapshot validation modes +- add drawer settings panel for POS actions +- add embedded detail mode to settings workspace +- add gift card management module and payment redemption entry +- add history repair-candidate filter and dark mode card polish +- add hybrid settings workspace for POS actions +- add invoice-level repair action for change allocations +- add offline sync coordinator skeleton +- add offline sync resource registry foundation +- add operational offline delta sync endpoints +- add operational offline sync adapters +- add parked orders rail and faster payment quick actions +- add party-based payment flows and posting date support +- add self-service cashier pin management and supervisor-only dashboard access +- add shared posting date control next to customer in pos pay +- add stored value summary to customer and payment flows +- add transaction ID reference fields and supplier price list support +- cache offline prerequisite datasets for delivery and currency flows +- complete phase 2 gift cards and offline customer balance support +- drafts rail placement and payment speed polish +- embed cashier PIN management in settings workspace +- enable typed and calendar-based reference date input +- expand bootstrap prerequisite collection +- expand offline bootstrap prerequisite coverage +- gate offline startup with bootstrap validation +- improve invoice management repair workflows and supervisor controls +- make gift card redemption inline in payments +- modernize stored value redemption flow +- move gift to sale invoice and show applied gift cards in the payment summary +- open invoice management directly on drafts from manage all +- persist offline bootstrap snapshot state +- persist offline resource sync state +- refresh bootstrap snapshot from profile and opening flows +- require cashier pin for shared terminal switching +- separate offline status actions from cashier menu +- show company-wide invoice management data for POS supervisors +- surface bootstrap warnings in status UI +- sync boot-critical offline resources +- trigger boot-critical sync on boot and resume +- wire operational resources into offline sync runtime +_Total: 43 changes_ + +### 🐞 Bug Fixes +- add payment print format toggle to pos profile +- add qz printer name copy action +- allocate overpayment change entries against the source invoice +- allow gift card redemption with prefilled default payments and polish ui / ux +- allow partial refunds and show all payment methods on return invoices +- apply batch price immediately on auto batch selection +- auto-create gift card mode of payment account mapping +- autofill full amount when switching payment methods +- avoid resubmitting cancelled return drafts in closing overview +- close drafts rail css block +- correct gift card view store imports for production build +- correct return invoice payment amounts and add refund visual indicators +- create missing gift card redemption fields for sales and pos invoices +- default payment print format from profile and respect customer-group rule +- discount percentage column missing path +- fingerprint offline runtime entry for cache-safe upgrades +- hide out-of-stock batch codes in batch selectors +- keep unrepaired change-allocation invoices visible in history +- make gift card profile settings opt-in by default +- make gift card redemption idempotent for background submit +- make quick actions render full-width in single column +- make selected payment mode buttons visually clear +- move gift cards to liability accounting +- pass frappe dict rows to change allocation repair reconciliation +- preserve backdated posting dates when submitting invoices +- preserve draft item batches when reloading invoices +- preserve supervisor metadata for the current cashier session +- prevent bootstrap warning banner text clipping +- prevent null profile crash on draft print +- reconcile paid change entries after submit for overpayments +- refresh invoice management on profile change and rename customer balance labels +- refresh item selector stock on cart and sale updates +- remove any annotations +- remove payment settlement status and quick tender shortcuts +- remove shell draft rail +- respect manual qz disconnect and profile printer default +- restore gift card balances on invoice cancel +- return drafts rail formatter from pos shell setup +- route drafts actions to the new drawer flow +- save qz printer default from setup dialog +- show both invoice print format doctypes in payments +- stabilize POS app startup after rebuilds +- style add POS-themed colors to payment mode buttons +- sync gift card settlement into invoice submission payments +- use shared print loader for draft invoices +- useinvoiceoffers changed setdiscountamount() to setadditionaldiscount() +- warn and skip cancelled return drafts during shift closing +- wire draft print save callback correctly +_Total: 48 changes_ + +### 📝 Docs +- add embedded PIN settings design spec +- add embedded PIN settings implementation plan +- add hybrid settings workspace design spec +- add hybrid settings workspace implementation plan +- add navbar settings panel design spec +- add navbar settings panel implementation plan +- add offline bootstrap implementation plan +- add offline bootstrap snapshot design spec +- add prerequisite coverage design spec +- add prerequisite coverage implementation plan +- add unified offline sync and action surfaces spec +- add unified offline sync implementation plan +_Total: 12 changes_ + +### 🧰 Maintenance +- cleanup doc files +- cleanup unnecessary files and docs +- remove offline rollout planning docs +- convert navbar menu to cashier-first quick actions and settings +- move cache repair actions into offline status panel +- move drafts to responsive secondary surfaces +- polish cashier pin flow and navbar identity actions +- remove inline drafts preview from active sale summary +- rename stored value labels back to customer credit +- simplify payment quick action to a single method button +- switch quick actions to a single-column menu layout +_Total: 11 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.26.0 — March 28, 2026 +### ✨ Features +- show realtime payment-processing status and defer print until final ledger state +- show visible checking state during manual status recheck +_Total: 2 changes_ + +### 🐞 Bug Fixes +- avoid reallocating post-submit change entries to settled invoices +- clear stale customer party details when recreating POS drafts +- clear stale party details when draft customer changes +- exclude pay entries from customer credit and preserve full tender +- exclude pay-type change entries from customer credit lists +- finalize new bundle activation before purging old caches +- harden POS payment submission and activation flows +- keep loader self-contained for desk script execution +- keep processing snackbar sticky and route events to submitting user +- link change payouts to source receive entries +- merge invoice submit and payment-processing snackbar updates +- preserve customer credit deductions across payment changes +- prevent infinite chunk reload loop after stale asset failures +- reconcile change payouts against source receive entries +- record full tender with customer credit and separate change +- recreate stale named drafts instead of mutating submitted docs +- refresh draft customer title when customer changes +- sync draft title immediately and ignore stale customer responses +- track change payouts in remarks and net them from credit +_Total: 19 changes_ + +### ⚡ Performance +- move post-submit payment processing to background queue +_Total: 1 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.25.0 — March 25, 2026 +### ✨ Features +- auto-route pos typing and scans to item search +- show deployed bundle version in about dialog +_Total: 2 changes_ + +### 🐞 Bug Fixes +- make update prompt non-blocking for pos shortcuts +- normalize return payment rows before amount sign handling +- persist update prompt dismissal on external close +- preserve first typed character when auto-focusing item search +- recompute payment base amounts from server conversion rate +- restore alt-3 item search focus across focused inputs +- restore keyboard selector enter and cart shortcut focus +- restore keyboard shortcut routing and selector highlight +- restore selector search and cart shortcut targets +- route alt-f to invoice toolbar search field +_Total: 10 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.24.1 — March 21, 2026 +### 🐞 Bug Fixes +- derive missing base amount from payment amount +- guard null payment amounts when updating return invoices +_Total: 2 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.24.0 — March 21, 2026 +### ✨ Features +- add auto-allocate payment toggle with post-submit reconciliation +_Total: 1 changes_ + +### 🐞 Bug Fixes +- block payments route until customer data is ready +- clear return state when leaving return mode +- convert dict to frappe._dict for ERPNext v15+ compatibility +- normalize item and doc inputs before decoding +- optimize outstanding invoice lookup for payments +- rebalance preferred payment when customer credit changes +- reconcile payments across invoices and move pay entries to payments +- reset delivery charges when clearing invoice +- reset invoice type when clearing invoice +- reset payment method amounts after payment submit +- resolve default_warehouse field error for ERPNext v17 +- scanner stock error issue on quotation, sales order and purchase order +_Total: 12 changes_ + +### 🧰 Maintenance +- cleanup planning files +- share new item dialog reset logic +_Total: 2 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.23.1 — March 12, 2026 +### 🐞 Bug Fixes +- ensure active payment panel receives sales person event on desktop +- fall back to POS profile sales persons when API returns empty +- sales person empty list issue +_Total: 3 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.23.0 — March 11, 2026 +### ✨ Features +- improve POS accessibility labels and theme consistency +- make draft and invoice flows responsive on compact screens +- make sales return flow responsive on mobile and tablet +- move active sale dock above compact nav +- overhaul responsive cashier flow and restore frontend build +- restore active sale dock in invoice summary +- simplify compact POS navigation and search UI +_Total: 7 changes_ + +### 🐞 Bug Fixes +- active sale dock box dark theme +- clean up fallback focus recovery timers, avoid blurring visible controls during search refocus retries +- correct tooltip contrast and improve cart empty state +- enable full cart scrolling on tablet and desktop +- enforce theme-aware tooltip text colors +- guard Vuetify bootstrap against blocked localStorage +- invoice button cutting in tablets +- make Playwright config ESM-safe for local env loading +- make POS dock spacing adaptive across devtools device sizes +- persist changed price list rates to backend +- pin mobile item search and align dock pay action +- Redundant repo files +- refine POS dock and selector alignment on mobile and tablet +- remove payment headline and restore compact dock +- restore item search after checkout dialog closes +- restore original invoice summary button sequence +- stabilize POS responsive layouts across viewport sizes +- suppress legacy shortcut resize error on POS route +- sync mobile active sale total with live discount updates +- sync POS startup theme and overlay colors +- sync tooltip text colors with active theme +- hide compact dock during payment flow (pos) +_Total: 22 changes_ + +### 🧰 Maintenance +- support local env files for smoke credentials +_Total: 1 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.22.2 — March 8, 2026 +### 🐞 Bug Fixes +- preserve explicit update_stock on submit and set deterministic update_stock for invoice docs +_Total: 1 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.22.1 — March 8, 2026 +### 🐞 Bug Fixes +- make awesome dashboard background and tabs fully dark-theme aware +- move Add on New Line toggle into settings dialog and persist it +- remove POS Settings dependency and rely on POS Profile defaults +_Total: 3 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.22.0 — March 7, 2026 +### ✨ Features +- add branch/location-wise report with sales, profit, stock, cashier metrics and top items +- add customer analytics report with top/repeat/recent insights in dedicated Customers tab +- add daily X-Z summary and start sales trend analytics +- add Discount/Void/Return report with cashier, top-return-item, and day-wise insights +- add global/company dashboard scope with profile filters and POS Settings controls +- add inventory status report (low/out/negative/slow/dead) in inventory tab +- add monthly sales summary card +- add payment method report with method/category breakdown, split payments, and pending/partial invoice insights +- add POS Profile toggle for company-wide dashboard scope and enforce it in API +- add profitability report in Finance tab with revenue, COGS, gross profit, and margin insights +- add reorder/purchase suggestion report with urgency, lead-time demand, and estimated procurement value +- add report month selector for month-based cards and reports with backend date-range support +- add Sales Trend report +- add staff/cashier performance report in dedicated Staff tab with sales, activity, and risk insights +- add stock movement report with day-wise and recent ledger activity in inventory tab +- add tabbed report layout with item and category/brand/variant analytics +- add tax and charges report with head-wise and day-wise analytics in Finance tab +- add unpaid invoice actions, advanced filters, and payment routing in invoice management +- cap all invoice management tab to fetches 100 +- created invoice management module +- extend invoice management with shared view mode across history, unpaid, drafts, and returns +- pos awesome dashboard and reports +- refresh invoice management UI with history-first flow and richer unpaid states +- replace price list rate prompt with themed in-app dialog +- show change return in history summary, cards, and list view +- switch to delta item updates for stock/price and remove full catalog batch refresh +- upgrade supplier purchase summary with advanced KPIs, risk exposure, and day-wise trends +- add fast-moving pagination and section filters (dashboard) +- switch profit calculation to stock-ledger based COGS with fallback (dashboard) +_Total: 29 changes_ + +### 🐞 Bug Fixes +- add month date filter in fast moving items +- align supplier name left and show amount inline in detailed supplier breakdown +- apply synced rate/qty to displayed item fields after background sync +- auto-recover from dynamic import chunk 404 after new build deploy +- bypass stale detail cache for force refresh and restore visible sync logs +- escape sales trend month format and add item/product sales report +- handle null profile scope settings and add current-profile fallback for global dashboard enablement +- increase page size from 10 to 25 +- invoice management dark mode cards +- make change price list rate work via Change Price button only +- make dashboard tabs card-style on small screens and prevent card text overflow +- normalize posting_time before sorting invoices by latest +- persist background delta cursor when no item changes are returned +- preserve reactive context in background sync/detail fetcher to restore realtime stock/rate updates +- prevent IndexedDB DataCloneError by sanitizing items and retrying row-wise persistence +- prevent repeated delta sync and refresh selector rates from canonical items +- refactor apply offers button and unused code removal +- refresh last sync UI timestamp each cycle while preserving delta cursor +- replace tab cap with pagination and opening-shift scoped totals +- reset return flow back to invoice after clear +- respect forced customer price list for background sync pricing with default fallback +- restore input typing after submit+print by releasing dialog focus trap +- stale data issue after background syncs +- stock movement reports understanding +- stop hard-blocking dashboard on global flag when scoped profiles are available +- use POS profile price list for background sync price updates +- wire Select S.O button to open sales orders dialog +_Total: 27 changes_ + +### 🧰 Maintenance +- add browser console diagnostics for scope resolution and API response debugging +- reorder sales tab sections to monthly->daily->trend->discount->payment +_Total: 2 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.21.0 — March 3, 2026 +### ✨ Features +- add realtime stock sync across POS terminals +- seperate dialogue box for payment screen +- add mobile and tablet switcher for selector and invoice views (ui) +- add section headings to item selector and invoice cards (ui) +- add sticky POS controls and responsive invoice table sizing (ui) +- correct card order allignments (ui) +- fit desktop payment dialog to screen and compact payment layout (ui) +- merge order card with fullfilment details (ui) +- place customer and delivery sections side by side in invoice (ui) +- refine POS payment and item browsing experience (ui) +- split item selector and invoice into section cards (ui) +- split sales person and print format to seperate card (ui) +- split toggle option on left side and seledted option on right side (ui) +_Total: 13 changes_ + +### 🐞 Bug Fixes +- apply hover overlay patch +- auto-process scanner input from item search field +- auto-process stable scanner input from item search +- bulkput items for large inventories +- change write off button position +- decouple limit-search enter handling from selector proxy state +- harden pos asset update recovery and service worker cache refresh +- harden shortcut submit flow against repeated draft updates +- hoveer behaviour of buttons +- hover button color +- initialize fallback payment amount and clear invoice after submit +- inventory always save to indexdb +- items caching issue +- items not saving in indexdb issue +- lazy load opencv scanner and extend worker init timeout +- limit search enter key +- make POS offline-first for items, profile, and opening shift +- move new line toggle above item search and shorten label +- new line toggle wiring for separate cart rows +- Payment method button names +- placenew item checbox on qty field field +- prevent duplicate shortcut submits and recover stale invoice conflicts +- prioritize server search on enter in limit search mode +- queue invoice shortcut submits until payments are fully open +- qz tray type script error +- recover cleanly from OpenCV worker init timeouts +- remove sessionstorage for items save +- reset return mode after successful submission +- restore enter-triggered server search in limit search mode +- resync default payment amount when reopening payments after cart changes +- route limit-search enter handling through selector search composable +- show POS profile names correctly in invoice filter +- tolerate draft timestamp races and reinitialize payment lines after submit errors +- trigger limit-search server fetch directly on enter +- typescript error +- ui freeze / unclickable after sale +- unified selection control button color +- wait for payment UI readiness before shortcut submit from invoice screen +- wire new line toggle into item add flow and keep toggle above qty +- restore camera scanner startup and fallback handling (pos) +- correct load sales invoice dialog theme in light mod (ui) +- enforce POS profile write-off cap in payment options (ui) +- force correct light theme surfaces in load sales invoice dialog (ui) +- prevent invoice header sections from shrinking under item load (ui) +- remove dark hover overlay from payment buttons (ui) +- restore mobile invoice scrolling and compact summary buttons (ui) +- restore mobile payment scrolling and compact footer actions (ui) +- restore mobile POS scrolling and simplify section heading (ui) +- show write-off amount below credit sale due date panel (ui) +- simplify payment headings and restore posting date and write-off controls (ui) +- widen posting date row and right-align customer balance (ui) +_Total: 51 changes_ + +### 🧰 Maintenance +- simplify item search field derivation in offline cache +_Total: 1 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.20.0 — February 24, 2026 +### ✨ Features +- added qz tray integration +_Total: 1 changes_ + +### 🐞 Bug Fixes +- added details for setup silent print option in browser +- added profile-scope tracking for customer groups +- backend date normalization +- broken loyalty points code +- certificate generation issue +- invoice buttons cutting on certain screen resolutions +- item group list not working due to lack of wiring with itemstore +- item level validaion with delivery date field +- last invoice print functionality +- minor updates +_Total: 10 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.19.4 — February 22, 2026 +### 🐞 Bug Fixes +- guard frontend update path for price recalculation +- repeated watcher call for pricing rule +- set all payment methods to 0 for credit sale +_Total: 3 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.19.3 — February 20, 2026 +### 🐞 Bug Fixes +- allow 0 stock items on quotation and sales order whle blocking on invoice level. +- decimal precision round off digits length +- define order and quotation +- direct add item barcode in table upon scanning barcode +- reset delivery charges field on invoice submission / cancel invoice +- stock validation logic on SO and Quotation. +_Total: 6 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.19.2 — February 18, 2026 +### 🐞 Bug Fixes +- migration workspace issue +_Total: 1 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.19.1 — February 18, 2026 +### 🐞 Bug Fixes +- added manual suppression state to auto refresh path +- amount cap on max allowed discount +- auto convert rate to max allowed discount +- auto offer apply function +- event timing issue +- force offer qty, rate and discount on offer item +- Fractional UOM offer conversion, Offer Item chip RTL spacing, legacy offers auto-infer +- harden offers logics +- offer apply criteria +- offer applying and toast message on error +- offers discount +- rate adjusted according to max discount allowed +- show tags, disable give product rate edit, laod/select uom of give product +_Total: 13 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.19.0 — February 17, 2026 +### ✨ Features +- Add dynamic exchange rate fetching to Pay.vue +- add multi-currency support for purchase orders +- creat print purchase invoice option instead purchase order in payment. +- Introduce Barcode Printing and related packages +- introduce item selector in PO +- introduce payments in PO submission workflow. +- new update available dialogue from git +- proratio implemented on additional amount +- separate workspace for purchase order +- seperate workspace for purchase order +- improve PO workflow: default date today and required; fetch items on item search; auto-fill receive_qty when receiving stock; add purchase invoice toggle (po) +_Total: 11 changes_ + +### 🐞 Bug Fixes +- account for unconsolidated POS Invoices in stock availability +- add backend logic for scale barcode items +- add fallback wrappers +- add item add/remove hook fro recalculation additional discount +- add logs for checking full background sync flow and fix last sync time +- add missing currency fields in item add context +- add new item icon and item stock validation removed. +- add new uom on new line +- add permissions +- add print format option and link payment entry with PO +- add toggle button for swithing PO and PI Printing +- add uom selection dialogue in qty dialogue +- add yarn install in package.json to install fonts and icons +- added cross sote context +- added detailed logs in barcode item addition flow in printing +- added development-time warning +- added direct event hook. +- added filters for searching entries +- added missing reconcilliation logics in pospay +- added missing write off logic +- added safeguard to itemstore.js +- added weight field for scale barcode items +- adding check for global pos profile in intializing logic. +- adding Show only items with barcode and custom printing option +- allow item addition in return workflow +- apply on filter +- apply permission aware query and hardened related endpoints +- apply styling to columns +- Attempted to load items without POS Profile +- Attribute Error +- Attribute Error +- auto allocation outstanding invoices on payment submission +- auto serial and batch assignment on fifo +- auto update rows fix for non top rows +- autocomplete custom filter +- backend search filter +- Background detail fetcher over writting +- barcode setting exception +- batch item qty addition flow +- blank list of unallocated payments +- branch name and current branch commits show +- build error +- calculate delivery charges in customer screen +- closing shift error +- collapsable and reordering fields +- confirmation windows dialogue with vuetify dialogue +- context prop +- convert text field of uom to autocomplete. +- correctly update yarn.lock and node_modules +- critical bugs and navigation interference +- currency conversion logic +- currency sign not changing +- customer loading +- customer screen total calculations and item amount total by changing uom +- dark mode and uom selection +- disable field on loading +- disable unnecessary preload links in config +- duplicate doc only fill fields rather than submit doc. +- enforced the "POS Profile First" rule. +- ensuring count never drops below 0 +- expense accounts fetched +- fast path issue in outstanding list +- fetch advances from sales order +- fetch barcode from local data and server +- fetch customer pricelist rates +- fetch delivery charges +- focus handler in item search to clear field +- freeze original total / discount for calculation +- gloab error +- hide ERPNext 16 sidebar in POSAwesome interface +- Highlighted Yes Button For Speed Processing. +- Highlighted Yes, Cancel Sale Button For Speed Processing on Cancel Dialogue. +- implement shared component usage via import +- implementation of customer reload function +- implementing manual focus handling +- import getcurrentinstance to make it more robust. +- import warn from vue +- improve backend logic for buying prices +- Improve pricing rule logic for item groups +- improve purchase payment dialog UI and currency handling +- improve speed of changing rates and qty with ui +- improve usability of purchases order +- include all ahead commits upto 20 not only last commit +- introduce buying price list in PO +- introduce context prop +- Introduce Customer Reload Function +- introduce local fonts and icons +- invoice watchers for returns +- issue blank Discount on Other Item +- item addition on first line and default purchase uom. +- item merging in sales return +- item selection improvements +- item selector settings working +- item store backward compatiblity, branch switching friendly, and introdcue hash strategy +- limit write off amount and allow in partial payment +- loading order of pos profile and customer +- memory leak and code duplication +- multi currency filter in payments +- multi currency logics +- multiple windows opening for customer screen +- non-existent field fetching +- numeric issue in PO Submission +- Offer and auto offer application +- Offer Applying Logic +- optimized item selection in Purchase Order +- order of cancellation of expense +- order of fields and add posting date field with duplicate doc feature +- outstanding amount correctly show with autorefresh upon entering customer +- paid amount and change amount random number showing and payment entry from cash on extra amount paid on other than default payment method +- paid amount and paid change inconsistency issue +- patch order of execution on migration +- payment amount error on submission +- payment fetch trigger timing +- payment section template +- persist serial and batch selection +- PI linkage to PO rather than PR +- po status after completing. +- polish UI +- POS Submission, uom change responsiveness, credit PO submission +- pospay show wrong outstanding invoices +- Price list rate not updating to single unit +- pricing rule logic on other items +- rate and uom fix +- recursive scheme in promotional scheme +- refactored calculate Offer Qty +- refactors duplicated code logics into shared component +- reintroduce early return +- remove custom print option +- remove duoble button in PO and improve payment submissions. +- remove duplicated code +- remove extra logs of customer loading +- remove forcefully timer +- remove reload button in update notification +- remove unnecessary comment +- removed the premature warning +- Removing dependencies and go to cdn +- Replace Window Dialogue With Vuetify Dialogue +- request animation error. +- reset form after submit and cash movement workspace +- resolve currency validation for purchase invoices +- restore missing backend method +- return invoice quantity issues +- returns calculation in customer screen +- round off decimals in hide decimal in qty field +- router configuration and bundle build version +- Safety Guard Added +- salesorder advance allocation +- scale barcode item detection and item addition logic +- scale barcode meta data, correct flow of adding items +- select company issue on payments opening +- Set Default Customer After Reload Customer List. +- settings field after migrate +- show buying prince in po rather than selling price +- show onl barcode items filter +- show only bacode items in item selector +- show unallocated payments in pospay +- show weight field on kg uom +- split line when multiple batches present +- stale fallback issue in item detail fetcher +- status on completing pi and pr +- submission error on cash edit +- Supplier name issue in PO +- Thermal Printing Size Fix and pdf button addition. +- total miscalculated before invoice save +- type script error +- UI improvements +- UI reactivity issue +- Unbound Local Error and optimize N+1 Query +- unbound variables +- unconditional wacher call and added defensive checks +- unomount po component when coming to sale invoice +- uom calculation with conversion factor +- uom change responsive issue +- uom conversion and supplier laoding disabled +- uom conversion persistence +- uom rate change issue +- UOM reversion issue +- uom selectin in barcode printing +- uom selection implemented +- update conversion factor logic for uom +- update offer applying logic by introducing item store. +- visibility of pay entry in outstanding list. +- watch for total changes +- write off option +- wrong cached pos prfile fallback and offline item cache profile / warehouse scoped isolation +- harden pos boot path and runtime asset loading (pos) +_Total: 186 changes_ + +### 📝 Docs +- add detailed repo improvement audit and roadmap +_Total: 1 changes_ + +### 🧰 Maintenance +- Add 'nul' to the .gitignore file. +- cleanup invoice utils and actions +- migrate remaining components to script setup +- Redundant Condition Remove. +- useOnlineStatus to address memory leaks +- useOnlineStatus.js +- consolidate storage runtime into db module (offline) +_Total: 7 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +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! 🙌 + +# Changelog + +All notable changes. + +Release 15.17.0 — January 5, 2026 +### ✨ Features +- Add arrow-key navigation and highlighting to item selector +_Total: 1 changes_ + +### 🐞 Bug Fixes +- Optimize invoice stock validation performance +_Total: 1 changes_ + +### ⚡ Performance +- avoid forced payment re-renders +- avoid forced re-renders in payments screen +- Background sync refresh all modified items, add scheduler and settings +- cache normalized payment amounts +- cache normalized payment amounts during checkout +- optimize checkout by removing redundant stock validation +- optimize checkout stock validation latency +- Optimize invoice search and submission for checkout speed +- Optimize invoice search and submission for checkout speed +- Optimize stock validation checks during invoice submission +- Optimize stock validation checks during invoice submission +- Optimize stock validation with bulk query +- remove redundant stock validation on checkout +- remove redundant stock validation on checkout +_Total: 14 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.16.0 — January 2, 2026 +### ✨ Features +- Allow print format selection per customer group +- Allow print format selection per customer group +- Allow print format selection per customer group +- Allow print format selection per customer group +- Change Print Setting per customer group +- Preserve payment splits on return invoices +- improve accessibility of cart item edit icons (ux) +- improve keyboard accessibility for cart items (ux) +_Total: 8 changes_ + +### 🐞 Bug Fixes +- Close Shift dialog when Payments page is open +- Include Journal Entry outstanding balances in payment allocation and surface voucher type in UI +- POS overlap with ERPNext v16 left sidebar +_Total: 3 changes_ + +### ⚡ Performance +- Improved keyboard accessibility for cart items +- Optimize ItemsSelector displayedItems calculation +- Optimize ItemsSelector filtering and fix search bug +- Optimize ItemsSelector filtering and remove side effects +- Optimize ItemsSelector filtering loop +_Total: 5 changes_ + +### 🧰 Maintenance +- Improve accessibility of cart item edit icons +_Total: 1 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.15.0 — January 2, 2026 +### ✨ Features +- Add option to open print preview in new tab for POS invoices +- Add option to open print preview in new tab for POS invoices +- Add option to open print preview in new tab for POS invoices +- Add option to open print preview in new tab for POS invoices +- Add option to open print preview in new tab for POS invoices +- Allow extra items in Return Invoices by auto-unlinking +_Total: 6 changes_ + +### 🐞 Bug Fixes +- allow non-stock items in return invoice by unlinking +- Guard customer group lookup to avoid server errors during customer search +- handle return invoice item validation by unlinking from original +- handle return invoice item validation by unlinking from original +- handle return invoice validation and frontend error handling +- handle return invoice validation and frontend error handling +- handle return invoice validation, timestamp mismatch, and frontend error +- Increase barcode scan detection length to 12 +_Total: 8 changes_ + +### 🧰 Maintenance +- Added ARIA labels and empty state +- Enhance README with version and feature updates +- Palette UX improvements - ARIA labels and empty state +- Palette UX improvements - ARIA labels and empty state +_Total: 4 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.14.0 — December 26, 2025 +### ✨ Features +- Add notification bell for background invoice submission errors +- Normalize Cart State in Invoice Store +- notify user on background invoice submission failure +- remove 'Recalculate Prices' button from POS invoice +_Total: 4 changes_ + +### 🐞 Bug Fixes +- cache asset build version lookups +- enforce max discount percentage allowed in POS +- enforce posa_max_discount_allowed setting in POS Profile +- enforce posa_max_discount_allowed setting only on global additional discount +- Items Table Expansion and Build Error +- items table expansion on click +- keyboard barcode scan detection now at 8th digit +- prevent barcode UOM rate from being reset by server updates +- Stop duplicate item worker creation +- Use query builder Sum for Bin aggregates (Frappe v16) +- prevent barcode UOM rate from being reset by server updates (pos) +_Total: 11 changes_ + +### ⚡ Performance +- Cache item search normalization +- implement async cached item addition with background sync +- implement instant item add in ItemsSelector +- normalize invoice store and throttle total calculations +- Optimize item merges for faster POS additions +- optimize local item search refinement +- optimize local item search refinement +- remove deep watchers and optimize re-renders +- streamline offer snapshot diff +- throttle search cache cleanup +_Total: 10 changes_ + +### 🧰 Maintenance +- Refine navbar offline sync notifications and layout +- Remove Recalculate Prices Button +- Update readme features 17850103927023345282 +- Update README with new features +_Total: 4 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.13.3 — December 18, 2025 +### 🐞 Bug Fixes +- Add menu shortcut for changing servers and translate setup text +- Add menu shortcut for changing servers and translate setup text +_Total: 2 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.13.2 — December 18, 2025 +### 🐞 Bug Fixes +- Normalize desktop app path and adjust Windows release build +- normalize posapp base path +_Total: 2 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +# Changelog + +All notable changes. + +Release 15.13.1 — December 18, 2025 +### 🐞 Bug Fixes +- Handle ESM electron-store in main process +_Total: 1 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +Release 15.13.0 — December 18, 2025 +### ✨ Features +- Add Electron desktop shell with offline server setup +- Add semantic-release automation to release workflow +- optimize invoice update with caching and lightweight enqueueing +_Total: 3 changes_ + +### 🐞 Bug Fixes +- disable linux electron publish +- disable unsupported electron publish provider +- Disable unsupported electron publish provider +- Ensure GH token available for Windows release build +- Handle background invoice submission +- Improve background invoice submission validation +- Prevent electron-builder publish requirement for Windows build +- return window validation to respect posting date +- sanitize inputs in utilities.py to prevent SQL injection (security) +_Total: 9 changes_ + +### ⚡ Performance +- Optimize invoice update caching and background enqueueing +_Total: 1 changes_ + +### 🧰 Maintenance +- add windows build to release workflow +- disable linux electron publish +_Total: 2 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +Release 15.12.0 — December 17, 2025 +### ✨ Features +- add aria-labels to ItemsTable buttons +- Add configurable return validity controls for POS invoices +- Add denomination buttons to Payments component +- Add denomination buttons to Payments component +- Add smart denomination buttons to Payments component +- allow per-item override for negative stock validation +- clear items table inputs on click, revert on empty blur +- Enable Code Splitting and Async Loading +- Enable code splitting and async module loading +- Implement and fix inline cart editing +- implement periodic item sync and network usage tracking +- implement periodic item sync and network usage tracking +- intelligent quick cash buttons with smart tender suggestions +- Memoize currency and number formatting in ItemsSelector +- Memoize formatting functions in ItemsTable +- Optimize Pos App Performance to Enhance Speed. +- optimize reactive overhead for large caches +- Restore auto-search for queries >= 3 characters +- Show customer last invoice rates in item selector +- add aria-labels to ItemsTable buttons (a11y) +- Implement and fix inline cart editing (pos) +- Implement and fix inline cart editing (pos) +- Implement and fix inline cart editing (pos) +_Total: 23 changes_ + +### 🐞 Bug Fixes +- add timeout to item details fetch to prevent hanging in offline mode +- Allow item-level override for negative stock blocking +- Allow pricing rules on UOM-priced items +- Avoid closing payments while recomputing totals and reset additional discount +- Combine pricing rule evaluation for unified path of execution. +- Dark Mode UI issues across POS components +- Ensure CSS is bundled correctly during code splitting +- Handle UOM barcode pricing fallback +- Implement and Fix Inline Cart Editing +- Make editable Boxes and Clear item inputs on click, revert on empty blur. +- Optimize item search with pre-computed index +- Optimize items search and filtering +- overlapping items in POS card view +- Periodic Item Synchronization and Network Usage Monitoring +- Preserve offline invoice timestamps during sync +- prevent item add hanging when internet is unstable +- race condition and unhandled rejections in item details fetch +- Refactor Server Usage gadget and fix dark mode text visibility +- Respect item-level negative stock settings +- set correct base path for vite build assets +- Strengthen offline cache schema metadata +- Sync pricing rule totals to invoice snapshot before draft creation +- resolve race condition in fetchItemDetails (ItemsSelector) +_Total: 23 changes_ + +### ⚡ Performance +- Combine pricing rule evaluation into a single pass +- memoize format_currency and format_number in ItemsSelector +- memoize formatting functions in ItemsTable +- move large caches to created hook in ItemsSelector and ItemsTable +- Optimize items search and filtering +_Total: 5 changes_ + +### 🧰 Maintenance +- fix asset path for code-splitted chunks +_Total: 1 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +Release 15.11.0 — November 21, 2025 +### ✨ Features +- auto-reduce default payment on loyalty redemption (pos) +_Total: 1 changes_ + +### 🐞 Bug Fixes +- calculate price from conversion factor when UOM price is missing +- correct closing shift totals and loyalty points update +- correct closing shift totals and loyalty points update +- correct default payment selection and implement split payment auto-balance +- default payment duplication and auto-balance split payments +- Filter serial numbers by batch +- loyalty points redemption and display in POS +- Show expired batches and flag selected items +- Show expired batches in POS item selector +- UOM price calculation for barcode scans without explicit price list rate +- resolve 'Account is required' error during loyalty redemption (pos) +- resolve loyalty points redemption issues and improve display (pos) +_Total: 12 changes_ + +### 🧰 Maintenance +- format code +- format code +_Total: 2 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +Release 15.10.0 — November 18, 2025 +### ✨ Features +- Add auto reconciliation tool to POS payments register +- add closing shift financial overview +- add financial overview to POS closing shift +- add header close button to closing dialog +- add scale barcode link under profile card +- add scale barcode workspace section +- auto add pasted barcodes +- auto process pasted barcodes +- Debounce pricing rule calculations to improve performance +- detect keyboard barcode scans in item search +- Enforce stock quantity validation +- enhance closing overview insights +- finalize pricing rule engine +- integrate scale barcode full support with workspace +- Make item quantity editable and handle empty input +- Make item quantity editable in cart +- Make item quantity editable with safe updates +- Make item quantity editable with safe updates and correct blur behavior +- Set free item quantity to 1 for non-recursive pricing rules +- show base equivalents and exchange rates in closing overview +- show credit invoices in closing overview +- support scale barcode parsing +- surface out-of-shift payments in closing overview +- Improve barcode scanning reliability (ItemsSelector) +- Unify item search and barcode entry fields (ui) +_Total: 25 changes_ + +### 🐞 Bug Fixes +- add logout button and update shortcut +- Add overpayment handling confirmation for POS payments other than default method +- Adjust Free Item Quantity for Non-Recursive Pricing Rules +- align scale barcode parsing with spec +- Align shift dialog action buttons +- apply server percentage discounts on item detail load +- auto add pasted barcodes +- auto submit pasted barcodes +- Avoid flashing server connecting indicator during healthy checks +- backfill scale barcode shortcut on existing workspaces +- Barcode Scanner Race Condition +- Correct "Enter" key search behavior with limit search +- correct cash expected aggregation +- correct offline helper import path +- Correct return process for quantity and discounts +- default scale barcode shortcut doc view +- delivery-charges-on-reload-invoice +- detect keyboard barcode scans in POS item selector +- draft invoice printing and customer sync +- duplicate free items when reloading saved invoices +- Enhance cache clearing to fully reset offline state +- Ensure fetched offer items include their item name +- Ensure non-recursive free item quantity is 1 +- Ensure non-recursive free item quantity is 1 +- Ensure non-recursive free item quantity is always 1 +- ensure percentage discounts update item pricing +- ensure scale barcode shortcut is added to workspace +- ensure scale barcode workspace shortcut visibility +- enter key not searching with limit search +- enter key not searching with limit search +- free item pricing handling in POS +- guard for price list rate column +- guard legacy pricing rule columns +- guard pricing rule uom column +- guard workspace patch when scale settings missing +- Handle cash change refunds for non-cash overpayments +- Handle missing give-product offer items gracefully +- Handle missing POS offer items by fetching details lazily +- Handle payment entry refunds in closing shift reconciliation +- handle shift overview call without finally +- honour free item pricing rules +- Improve Payment Submission UX +- Improve POS Performance with Debounced Pricing Rules +- improve scale barcode matching +- improve scale barcode matching +- Increase customer pagination batch size +- Invoice Reload Bug +- Item Search Reset on Escape Key +- item selector stock refresh after invoice submission +- Make item quantity editable in the cart +- manual rate + offers overrides being reset by pricing rules. +- normalize discount amounts +- normalize discount percentage display +- Offer Price Recalculation on Invoice Load +- Payment Screen Closing Prematurely +- place scale barcode shortcut under profile +- Posawesome Offer Items frontend + backend. +- preserve manual rate overrides +- Preserve percentage discounts when reloading invoices +- Prevent adding out-of-stock items to cart +- prevent negative pricing deltas from inflating totals +- Prevent offline print fallback while online +- prevent pricing rule context append error +- quotation reload invoice type +- race-condition-of-invoice-reload-and-payments-section +- respect discount type when pricing rule flags price +- Return Process Issues on Pricing Rule +- reuse existing free lines on invoice reload +- sanitize pricing rule snapshot persistence +- scale barcode lookup and enhance barcode look up process. +- scale barcode prefix enforcement in scanner flow +- show positive discount percentage +- show scale barcode settings shortcut +- support manual scale barcodes +- surface scale barcode settings shortcut +- tidy closing overview header and payments list +- tolerate missing stop further rules column +- Trim whitespace from item search value +- Unify Stock Quantity Display + Block Sales Beyond Available Qty +- Update keyboard shortcuts for POS search fields +- Use ERPNext pricing reconciliation in POS cart +- Clear input immediately to support rapid scanning (barcode) +- Correctly handle scale barcode lookups (barcode) +- Ensure instant input clearing for rapid scanning (barcode) +- Optimize scale barcode lookup performance (barcode) +- Clear item selector search field on focus (frontend) +- Resolve state synchronization issue on invoice reload (invoice) +- Ensure "Escape" key resets item search (items) +- Clear search input on focus (ItemsSelector) +- Ensure free items from POS Awesome Offers are sent to the backend (offers) +- Ensure POS Awesome free items are saved in the invoice (offers) +- Prevent duplicate free items on draft reload (offers) +- ensure loading indicator is always handled correctly (payments) +- Prevent payment screen from closing prematurely (payments) +- Unify stock quantity display and validation (pos) +- Allow numeric item code search with limit search (search) +- Fix numeric search and Enter key functionality (search) +- Refactor search to fix numeric and Enter key issues (search) +- Unify stock quantity display (stock) +_Total: 99 changes_ + +### 🧰 Maintenance +- remove duplicate invoice totals table +- define scale barcode workspace card directly +_Total: 2 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +Release 15.9.3 — November 1, 2025 +### 🐞 Bug Fixes +- Ensure invoice item rates refresh on customer price list change +- Filter redeemed credit notes from available customer credit +- Guard stock validation for non-stock items +- Introduce Pinia State Management and OpenCV processing Ahmed +- Introduce Pinia State Management and OpenCV processing hammed +- Merge Changes From Stage develop +- Prevent payment view from closing after manual rate changes +- print on android devices and non stock items +- Refactor cleaning code. +_Total: 9 changes_ + +### 🧰 Maintenance +- format code +- format code +- format code +- format code +_Total: 4 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +Release 15.9.2 — October 4, 2025 +### 🐞 Bug Fixes +- different bugs +- ERPNext breadcrumb layout +- optimize cache usage estimation +_Total: 3 changes_ + +### 🧰 Maintenance +- format code +- format code +- format code +_Total: 3 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +Release 15.9.1 — September 18, 2025 +### 🐞 Bug Fixes +- bugs and enhancing pos app +- remove stock validation from sales order section +- unify dark mode styling with theme +_Total: 3 changes_ + +### 🧰 Maintenance +- format code +- format code +_Total: 2 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +Release 15.9.0 — September 11, 2025 +### ✨ Features +- restrict sales person list by pos profile +_Total: 1 changes_ + +### 🐞 Bug Fixes +- replace offer checkbox with toggle button +- whitelist selling price lists +_Total: 2 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +Release 15.8.6 — September 3, 2025 +### 🐞 Bug Fixes +- brand offer + recalculation on UOM change +- omit hash and PR refs in changelog +- prevent auto-adding items by code starting from 0 +- show price list rate column +_Total: 4 changes_ + +### 🧰 Maintenance +- add formatting workflows +- add Issue Forms (bug/feature) + need-more-info GitHub Action +_Total: 2 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +Release 15.8.5 — August 28, 2025\n\n\n### 🐞 Bug Fixes\n- allow western number format in rtl (7014a8a) — #1923, #1924\n- customer and item loading (10b023f) — #1944, #1934, #1935, #1927, #1928, #1928, #1930, #1933, #1937, #1938, #1939, #1940, #1941, #1942, #1943\n- ensure each commit appears on its own line (8e46779) — #1911\n- extend offer logic to bundles (849f792) — #1921, #1922\n- scale barcode (e407fb4) — #1934, #1927, #1928, #1928, #1930, #1933\n_Total: 5 changes_\n\n\n— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌\n + +Release 15.8.4 — August 26, 2025 +### 🐞 Bug Fixes +- apply invoice-level discount (93a5879) — #1909- remove duplicate taxes on POS invoices (d024840) — #1905, #1906_Total: 2 changes_ + +### 🧰 Maintenance +- avoid mutations in release config (857b3c0) — #1910- more readable semantic-release output (e8e5965) — #1899_Total: 2 changes_ + +— Changelog auto-generated by semantic-release. Thanks to all contributors! 🙌 + +## [15.8.3](https://github.com/defendicon/POS-Awesome-V15/compare/15.8.2...15.8.3) (2025-08-26) + + +### Bug Fixes + +* make release workflow manual ([#1898](https://github.com/defendicon/POS-Awesome-V15/issues/1898)) ([1503b24](https://github.com/defendicon/POS-Awesome-V15/commit/1503b242ddae75c0f198275f3fed94accfdbf357)) + +## [15.8.2](https://github.com/defendicon/POS-Awesome-V15/compare/15.8.1...15.8.2) (2025-08-25) + + +### Bug Fixes + +* add product bundle support in POS ([#1888](https://github.com/defendicon/POS-Awesome-V15/issues/1888)) ([#1889](https://github.com/defendicon/POS-Awesome-V15/issues/1889)) ([1ad65d9](https://github.com/defendicon/POS-Awesome-V15/commit/1ad65d93fde184dd9d74edfe68d8d480c08674d9)) + +## [15.8.1](https://github.com/defendicon/POS-Awesome-V15/compare/15.8.0...15.8.1) (2025-08-23) + + +### Bug Fixes + +* batch returns without invoice and restrict items by profile groups ([#1883](https://github.com/defendicon/POS-Awesome-V15/issues/1883)) ([2c20610](https://github.com/defendicon/POS-Awesome-V15/commit/2c20610928f5005ef61ebb66850f89d4b34d43f4)), closes [#1881](https://github.com/defendicon/POS-Awesome-V15/issues/1881) [#1882](https://github.com/defendicon/POS-Awesome-V15/issues/1882) + +# [15.8.0](https://github.com/defendicon/POS-Awesome-V15/compare/15.7.0...15.8.0) (2025-08-21) + + +### Features + +* support serial and batch searches ([#1873](https://github.com/defendicon/POS-Awesome-V15/issues/1873)) ([#1874](https://github.com/defendicon/POS-Awesome-V15/issues/1874)) ([4a0120d](https://github.com/defendicon/POS-Awesome-V15/commit/4a0120d61c02f1e6601a9ec88682ea4ad26cc58e)) + +# [15.7.0](https://github.com/defendicon/POS-Awesome-V15/compare/15.6.0...15.7.0) (2025-08-21) + + +### Features + +* Create Invoices as POS Invoices Rather Than Sales Invoice ([#1872](https://github.com/defendicon/POS-Awesome-V15/issues/1872)) ([977b29d](https://github.com/defendicon/POS-Awesome-V15/commit/977b29dae73e2ec8ff71f8769280fa84b668ff17)), closes [#1867](https://github.com/defendicon/POS-Awesome-V15/issues/1867) [#1868](https://github.com/defendicon/POS-Awesome-V15/issues/1868) [#1869](https://github.com/defendicon/POS-Awesome-V15/issues/1869) [#1870](https://github.com/defendicon/POS-Awesome-V15/issues/1870) [#1871](https://github.com/defendicon/POS-Awesome-V15/issues/1871) + +# [15.6.0](https://github.com/defendicon/POS-Awesome-V15/compare/15.5.0...15.6.0) (2025-08-20) + + +### Features + +* allow line item name override ([#1862](https://github.com/defendicon/POS-Awesome-V15/issues/1862)) ([#1863](https://github.com/defendicon/POS-Awesome-V15/issues/1863)) ([6f8b575](https://github.com/defendicon/POS-Awesome-V15/commit/6f8b57529a3a38246a3fc1063534943122833bed)) + +# [15.5.0](https://github.com/defendicon/POS-Awesome-V15/compare/15.4.13...15.5.0) (2025-08-19) + + +### Features + +* enforce stock availability in POS ([#1852](https://github.com/defendicon/POS-Awesome-V15/issues/1852)) ([#1860](https://github.com/defendicon/POS-Awesome-V15/issues/1860)) ([402bae3](https://github.com/defendicon/POS-Awesome-V15/commit/402bae32cb1a01d58fc4051e1eb670321b9a609f)), closes [#1853](https://github.com/defendicon/POS-Awesome-V15/issues/1853) [#1853](https://github.com/defendicon/POS-Awesome-V15/issues/1853) [#1855](https://github.com/defendicon/POS-Awesome-V15/issues/1855) [#1854](https://github.com/defendicon/POS-Awesome-V15/issues/1854) [#1854](https://github.com/defendicon/POS-Awesome-V15/issues/1854) [#1856](https://github.com/defendicon/POS-Awesome-V15/issues/1856) [#1857](https://github.com/defendicon/POS-Awesome-V15/issues/1857) [#1857](https://github.com/defendicon/POS-Awesome-V15/issues/1857) [#1858](https://github.com/defendicon/POS-Awesome-V15/issues/1858) [#1859](https://github.com/defendicon/POS-Awesome-V15/issues/1859) + +## [15.4.13](https://github.com/defendicon/POS-Awesome-V15/compare/15.4.12...15.4.13) (2025-08-19) + + +### Bug Fixes + +* ensure sales return payments are negative ([#1850](https://github.com/defendicon/POS-Awesome-V15/issues/1850)) ([#1851](https://github.com/defendicon/POS-Awesome-V15/issues/1851)) ([0e0fa46](https://github.com/defendicon/POS-Awesome-V15/commit/0e0fa46591c765a27467f466d4d603560d507715)) + +## [15.4.12](https://github.com/defendicon/POS-Awesome-V15/compare/15.4.11...15.4.12) (2025-08-19) + + +### Bug Fixes + +* stub get_formatted for offline invoice ([#1848](https://github.com/defendicon/POS-Awesome-V15/issues/1848)) ([#1849](https://github.com/defendicon/POS-Awesome-V15/issues/1849)) ([4bb42dd](https://github.com/defendicon/POS-Awesome-V15/commit/4bb42dd090c95836a69613c207ec52007b6beb9a)) + +## [15.4.11](https://github.com/defendicon/POS-Awesome-V15/compare/15.4.10...15.4.11) (2025-08-19) + + +### Reverts + +* Revert "chore: configure semantic-release ([#1836](https://github.com/defendicon/POS-Awesome-V15/issues/1836)) ([#1837](https://github.com/defendicon/POS-Awesome-V15/issues/1837))" ([#1838](https://github.com/defendicon/POS-Awesome-V15/issues/1838)) ([21de6f6](https://github.com/defendicon/POS-Awesome-V15/commit/21de6f62b772d00d484f580ba29b769558fe85f3)) +* Revert "Sementic release ([#1841](https://github.com/defendicon/POS-Awesome-V15/issues/1841))" ([#1844](https://github.com/defendicon/POS-Awesome-V15/issues/1844)) ([f933f38](https://github.com/defendicon/POS-Awesome-V15/commit/f933f3861d5460ba2cefc709afa10638cdbca532)) + +# 1.0.0 (2025-08-19) + + +### Bug Fixes + +* [#189](https://github.com/defendicon/POS-Awesome-V15/issues/189) POS Opening Shift field “amended_from” duplicated ([7f208f6](https://github.com/defendicon/POS-Awesome-V15/commit/7f208f635a02792897f33bb9ce7d787caf9abe9a)) +* [#209](https://github.com/defendicon/POS-Awesome-V15/issues/209) draft payment shown as customer credit ([857c85e](https://github.com/defendicon/POS-Awesome-V15/commit/857c85eda808c9179dfeb5122eed0f1170df6282)) +* [#214](https://github.com/defendicon/POS-Awesome-V15/issues/214) return invoice after erpnext update ([4ecaf4a](https://github.com/defendicon/POS-Awesome-V15/commit/4ecaf4a85b6da5a8a3894e8d1910d16b76d05597)) +* a typo ([2157fa7](https://github.com/defendicon/POS-Awesome-V15/commit/2157fa72f99a18c3daef35382f54b6a509da5b0d)) +* Add campaign name to Sales Invoice ([51b7d72](https://github.com/defendicon/POS-Awesome-V15/commit/51b7d7267d779743fe662459c5f6ee9ad3752774)) +* add confirmation dialog for closing customer update form ([d117a62](https://github.com/defendicon/POS-Awesome-V15/commit/d117a62cbc0bc55f841b1ebd25a240c7f46fc241)) +* add coupon ([1ca1784](https://github.com/defendicon/POS-Awesome-V15/commit/1ca17845c07a021d39248070adbcdfd3f02ed57e)) +* add customer info ([4f6d0e3](https://github.com/defendicon/POS-Awesome-V15/commit/4f6d0e33ba39d11d261be960007c297581b2cac0)) +* add dark background for item selector card ([#295](https://github.com/defendicon/POS-Awesome-V15/issues/295)) ([42f0ab1](https://github.com/defendicon/POS-Awesome-V15/commit/42f0ab136b14a1bf0583f81547b3734d41738fb9)) +* add item by Serila No ([bf864a9](https://github.com/defendicon/POS-Awesome-V15/commit/bf864a9cd69cf2ea74349c51d4a4f72844d8f43e)) +* Added focus event handler in ItemsSelector component to reset search fields. This enhancement improves user experience by clearing previous search inputs when the search field gains focus, ensuring a fresh start for item searches. ([72cf96a](https://github.com/defendicon/POS-Awesome-V15/commit/72cf96a55df0b6ffdd1c5444102a60e0972d40eb)) +* adjust payments card spacing ([#134](https://github.com/defendicon/POS-Awesome-V15/issues/134)) ([39f6f0d](https://github.com/defendicon/POS-Awesome-V15/commit/39f6f0dc4f6804ce564efb30e64c033a1ea5a46f)) +* align multi currency logic in offer methods ([#738](https://github.com/defendicon/POS-Awesome-V15/issues/738)) ([ffbc883](https://github.com/defendicon/POS-Awesome-V15/commit/ffbc8834c478d165cc0e9bc93cf4fb3becb4a7e2)) +* align payment and item blocks with invoice ([#130](https://github.com/defendicon/POS-Awesome-V15/issues/130)) ([b32b5b7](https://github.com/defendicon/POS-Awesome-V15/commit/b32b5b7eec9a782942d43aeef095fddb193a929e)) +* allow closing shift if no transactions ([5d1c7e9](https://github.com/defendicon/POS-Awesome-V15/commit/5d1c7e9f7e3c66e2a5ba5c04de284294e7350aec)) +* allow editing closing shift reference ([#357](https://github.com/defendicon/POS-Awesome-V15/issues/357)) ([5afd808](https://github.com/defendicon/POS-Awesome-V15/commit/5afd808e0ff7d5443d9f54101ce3bfbf334b58b5)) +* allow free items ([1e70ef7](https://github.com/defendicon/POS-Awesome-V15/commit/1e70ef76a9288890c3a718a6764a748e61bd7dd6)) +* Allow Partial Payment ([246ce34](https://github.com/defendicon/POS-Awesome-V15/commit/246ce34d4729e44a6bd53a0bce64f3a446998b98)) +* Allow Submissions in background job field ([8847761](https://github.com/defendicon/POS-Awesome-V15/commit/8847761760508831582f2cf3a51b0bc3a83e5e66)) +* amended_from field repeats multiple time on the DocType POS Opening Shift ([f4046a5](https://github.com/defendicon/POS-Awesome-V15/commit/f4046a572114cb170af93fe4a93478d39cccd08b)) +* amended_from twice in POS Closing Shift [#181](https://github.com/defendicon/POS-Awesome-V15/issues/181) ([e2073f8](https://github.com/defendicon/POS-Awesome-V15/commit/e2073f8d9c2eef83b028e875749801c0775f7a23)) +* apply black background in dark mode ([#301](https://github.com/defendicon/POS-Awesome-V15/issues/301)) ([ea63cf9](https://github.com/defendicon/POS-Awesome-V15/commit/ea63cf9bf6be6d647f866b0c80c2ae3ba2feafa4)) +* apply dark mode background for invoice card ([#305](https://github.com/defendicon/POS-Awesome-V15/issues/305)) ([e5670d3](https://github.com/defendicon/POS-Awesome-V15/commit/e5670d30b465c38127a2b43845d8c0817cd96f9b)) +* apply dark mode styles to posting date field ([#318](https://github.com/defendicon/POS-Awesome-V15/issues/318)) ([e0f3f02](https://github.com/defendicon/POS-Awesome-V15/commit/e0f3f028f34b888f8e0ee0ae48dbbbcda5a31bd2)) +* apply dark theme styles to item table ([#271](https://github.com/defendicon/POS-Awesome-V15/issues/271)) ([b369786](https://github.com/defendicon/POS-Awesome-V15/commit/b3697860a7bc011164002e7d15133f4b5e857623)) +* apply dark theme to navbar ([#325](https://github.com/defendicon/POS-Awesome-V15/issues/325)) ([a61dd3b](https://github.com/defendicon/POS-Awesome-V15/commit/a61dd3b7cd5ddd5e7f401e9001451da019373150)) +* apply search limit logic with force reload ([#395](https://github.com/defendicon/POS-Awesome-V15/issues/395)) ([5475cd5](https://github.com/defendicon/POS-Awesome-V15/commit/5475cd5ec25b8d2c568c9ab291297176d8265215)) +* apply search limit when using limit search ([#443](https://github.com/defendicon/POS-Awesome-V15/issues/443)) ([141b84c](https://github.com/defendicon/POS-Awesome-V15/commit/141b84ccc65b4f651defd9ee847be0277af336bb)) +* apply user permissions on sales person ([98ece81](https://github.com/defendicon/POS-Awesome-V15/commit/98ece81f5418f0efdf2a2947421c609d37039b1c)) +* AttributeError: 'NoneType' object has no attribute 'options' ([e3aa4b4](https://github.com/defendicon/POS-Awesome-V15/commit/e3aa4b4c7cdd0083abce8e038ce5b98df9232195)) +* auto allocatinvoice amount for Mpesa Payments. [#367](https://github.com/defendicon/POS-Awesome-V15/issues/367) ([5b57800](https://github.com/defendicon/POS-Awesome-V15/commit/5b57800c074afbe60b0f354bbd6af9e4db09752a)) +* auto apply Grand Total Offer ([bd4a927](https://github.com/defendicon/POS-Awesome-V15/commit/bd4a92765efe2a00a3bea3b122eb33be09857047)) +* auto apply replace offer ([b5e3749](https://github.com/defendicon/POS-Awesome-V15/commit/b5e374900d225860dbaa5a25eb9214e22b044f58)) +* auto apply replace offer ([f2185c8](https://github.com/defendicon/POS-Awesome-V15/commit/f2185c8218bdbe39b73254cf3bda9785f528cf43)) +* auto set batch ([2249a32](https://github.com/defendicon/POS-Awesome-V15/commit/2249a3218087ff6bea79e2671620cd4d48fbc9eb)) +* auto set batch no ([f6d4d5a](https://github.com/defendicon/POS-Awesome-V15/commit/f6d4d5afa1ad971cce5091a58573628b7320928a)) +* auto-select newly added customer in POS Awesome invoice ([a279d02](https://github.com/defendicon/POS-Awesome-V15/commit/a279d02798cb91e6bd00a6b6edf0db136ea6d1bf)) +* avoid auto item load with limit search ([#448](https://github.com/defendicon/POS-Awesome-V15/issues/448)) ([b1d8b35](https://github.com/defendicon/POS-Awesome-V15/commit/b1d8b35fedf68f4e8d3f0b87c85a9663a6c8271d)) +* avoid mutating prop in dialog ([#212](https://github.com/defendicon/POS-Awesome-V15/issues/212)) ([ced2f39](https://github.com/defendicon/POS-Awesome-V15/commit/ced2f39a16c884c2a4f9b2dd40b57e7e44ca3ea7)) +* avoid repeated invoice sync message ([#355](https://github.com/defendicon/POS-Awesome-V15/issues/355)) ([3d63fc0](https://github.com/defendicon/POS-Awesome-V15/commit/3d63fc01e1016d26f4e88a9ec9d64a3c95fd523f)) +* avoid UI freeze when fetching item details ([#374](https://github.com/defendicon/POS-Awesome-V15/issues/374)) ([29155fe](https://github.com/defendicon/POS-Awesome-V15/commit/29155fe7fcec7e7bc48b5f942492ea2b8cd89efd)) +* back to erpnext link V13 ([917fbcd](https://github.com/defendicon/POS-Awesome-V15/commit/917fbcd8377c1c78c8f416ca13542afec99aac46)) +* barcode scaning ([df35b2e](https://github.com/defendicon/POS-Awesome-V15/commit/df35b2ed597364595c2ad949bbfc4ee298b99cd2)) +* barcode scaning ([11f1d13](https://github.com/defendicon/POS-Awesome-V15/commit/11f1d1324e235243023ffe109927e95c801c19e5)) +* batch qty ([33bd739](https://github.com/defendicon/POS-Awesome-V15/commit/33bd739035143f3a6ca8b41476c7e0d1045430ab)) +* **batch:** always load batch numbers ([#768](https://github.com/defendicon/POS-Awesome-V15/issues/768)) ([#769](https://github.com/defendicon/POS-Awesome-V15/issues/769)) ([3f10aee](https://github.com/defendicon/POS-Awesome-V15/commit/3f10aee968eb2c739ad04e70adc6bb400ce4a7a0)) +* better validate in return ([df20fad](https://github.com/defendicon/POS-Awesome-V15/commit/df20fad821495b29bacdcaf13ef44acca3c7a714)) +* blank page in latest official v13 ([3cc1352](https://github.com/defendicon/POS-Awesome-V15/commit/3cc1352ae3e339915bd1218959f1fb0d494a280d)) +* build.json ([ce22169](https://github.com/defendicon/POS-Awesome-V15/commit/ce2216924142e4e355941b2e5ca1e99d6bbceb5b)) +* Bumped version to 15.2.3 and updated input fields in Invoice and ItemsSelector components. Changed text field variants from 'outlined' to 'solo' for a cleaner UI, added inner icons for better user guidance, and adjusted layout for improved spacing in the invoice items table. These enhancements aim to refine user experience and interface consistency. ([5c2604c](https://github.com/defendicon/POS-Awesome-V15/commit/5c2604ca2dddedf327ef09421c29bd13b2bb6ea0)) +* **cache:** clear price list cache when switching ([#735](https://github.com/defendicon/POS-Awesome-V15/issues/735)) ([b1e8146](https://github.com/defendicon/POS-Awesome-V15/commit/b1e8146282b60d04182b8ee0cfc66d4fe1cf34c7)) +* calculate total payments if there is no payments yet ([7bb6704](https://github.com/defendicon/POS-Awesome-V15/commit/7bb6704f431dc0d83f567b612e09aca47fed8ad3)) +* calculating items taxes ([c8d275f](https://github.com/defendicon/POS-Awesome-V15/commit/c8d275fd536b7cd896079367573b25b08eeead4c)) +* calculating items taxes [#179](https://github.com/defendicon/POS-Awesome-V15/issues/179) ([034d586](https://github.com/defendicon/POS-Awesome-V15/commit/034d5863adfcbfdac6107ebc991b742f74fb3769)) +* calculation error loyalty points ([34127b9](https://github.com/defendicon/POS-Awesome-V15/commit/34127b9fa9dd8e4622a2fde4be6e0a649f9e91f8)) +* calculation of sotck qty ([8da53ef](https://github.com/defendicon/POS-Awesome-V15/commit/8da53ef5b3dac9416fe32344e5061dee34c3cda6)) +* **CameraScanner, ItemsSelector:** enhance barcode scanning logic ([f241824](https://github.com/defendicon/POS-Awesome-V15/commit/f241824052f1dce8710ad2373ac0a3868e904a7f)) +* **CameraScanner:** improve scanning reset logic ([6714905](https://github.com/defendicon/POS-Awesome-V15/commit/67149052c14efad39a10e4a4eb2f32d00a65b6c9)) +* cannot read property posa_delivery_date ([1697e85](https://github.com/defendicon/POS-Awesome-V15/commit/1697e85ab42070dd0ef6212b593896fc8df43bb6)) +* change batch price ([611ebca](https://github.com/defendicon/POS-Awesome-V15/commit/611ebca99a89e3d1d6f0ae947f41db3662da9327)) +* changing rate and discount ([4ea3be0](https://github.com/defendicon/POS-Awesome-V15/commit/4ea3be0b21591505890d721034b1cfe75a834814)) +* **ci:** detect branch for pull request ([#1471](https://github.com/defendicon/POS-Awesome-V15/issues/1471)) ([d5ccae3](https://github.com/defendicon/POS-Awesome-V15/commit/d5ccae3c7582111b5940692dfcf0d66e8df614de)) +* clamp currency format precision ([#830](https://github.com/defendicon/POS-Awesome-V15/issues/830)) ([bcfaad5](https://github.com/defendicon/POS-Awesome-V15/commit/bcfaad5d739c282d5b74c7053432c3983fb7d0bf)) +* clear discount ([1543e90](https://github.com/defendicon/POS-Awesome-V15/commit/1543e909edb8ef52d3eead5d0115947aa57f8968)) +* clear search field after barcode scan ([#736](https://github.com/defendicon/POS-Awesome-V15/issues/736)) ([8807bba](https://github.com/defendicon/POS-Awesome-V15/commit/8807bbaff5170f4e53e92666a898a3fe2ba2cd4f)) +* close callback block in ItemsSelector ([#417](https://github.com/defendicon/POS-Awesome-V15/issues/417)) ([3bedd03](https://github.com/defendicon/POS-Awesome-V15/commit/3bedd03c899cf6d8b481181620bafe3877fe138c)) +* consider change amount in POS Closing Shift ([6bf5fac](https://github.com/defendicon/POS-Awesome-V15/commit/6bf5fac157055cd3ee7089bf5a7f4e2dd36d0b83)) +* correct exchange rate orientation ([#744](https://github.com/defendicon/POS-Awesome-V15/issues/744)) ([6949d5b](https://github.com/defendicon/POS-Awesome-V15/commit/6949d5b7fd0dab778e81489b1e4df4b7da373cce)) +* correct v-model syntax and improve search handling ([b85e87a](https://github.com/defendicon/POS-Awesome-V15/commit/b85e87a1abed122c1f8e040cc027a6ac0626c34f)) +* Corrected field name for coupon usage in JSON and Python files. Updated "oneـuse" to "one_use" to ensure consistency and prevent potential errors in coupon validation logic. ([0c53d18](https://github.com/defendicon/POS-Awesome-V15/commit/0c53d18b81594819f93453316b440fdbe7799969)) +* cost center error in redeeming customer credit ([5739ada](https://github.com/defendicon/POS-Awesome-V15/commit/5739adace23ebc3b42ac20997c7335f241392fec)) +* Could not find Cost Center: 1, when Submitting Mpesa Selection [#356](https://github.com/defendicon/POS-Awesome-V15/issues/356) ([4cf0205](https://github.com/defendicon/POS-Awesome-V15/commit/4cf02050d6471e808976821c9272fce0c70c60d7)) +* credit sales payment ([bc1502b](https://github.com/defendicon/POS-Awesome-V15/commit/bc1502bc5cffb8a699a2a2d1cc4663e7e4dadcf3)) +* **csrf:** include token for fetch items ([#423](https://github.com/defendicon/POS-Awesome-V15/issues/423)) ([ee13e70](https://github.com/defendicon/POS-Awesome-V15/commit/ee13e70ed7fb9e99f1fef37256fe21f66ed23144)) +* customer create/edit improvements ([6bcac5c](https://github.com/defendicon/POS-Awesome-V15/commit/6bcac5cb33f2f3f6864f964d41a7f60b92704b4f)) +* customer info dialog not showing customer name ([d379cf7](https://github.com/defendicon/POS-Awesome-V15/commit/d379cf7b6e919b0a981c1e9147f7ee4719a21328)) +* Customer Name Should be displayed ([e622986](https://github.com/defendicon/POS-Awesome-V15/commit/e622986d69c447543124bb411bd02b2ebdda2400)) +* Customer Reset to default after submit or save sale invoice ([3694a5a](https://github.com/defendicon/POS-Awesome-V15/commit/3694a5aa2612328d747fd6685920097aa9d30a78)) +* dark mode background for invoice summary ([#303](https://github.com/defendicon/POS-Awesome-V15/issues/303)) ([4520004](https://github.com/defendicon/POS-Awesome-V15/commit/4520004ae944e4bd42d0d1c247a60dfb50400972)) +* dark mode for item table ([#280](https://github.com/defendicon/POS-Awesome-V15/issues/280)) ([6b25b27](https://github.com/defendicon/POS-Awesome-V15/commit/6b25b270b98d4ee3513ee32c315e503a0c1623f5)) +* dark mode header style ([#314](https://github.com/defendicon/POS-Awesome-V15/issues/314)) ([638826e](https://github.com/defendicon/POS-Awesome-V15/commit/638826eefffb1bd16a79879957dad5649b874b0b)) +* dark mode styles for expanded items ([#331](https://github.com/defendicon/POS-Awesome-V15/issues/331)) ([34a1fa1](https://github.com/defendicon/POS-Awesome-V15/commit/34a1fa1462952682f19136f277bf2087a8affa9a)) +* dark mode table header ([#306](https://github.com/defendicon/POS-Awesome-V15/issues/306)) ([c443bd2](https://github.com/defendicon/POS-Awesome-V15/commit/c443bd2fc8ea585564e47b00bf6dc36d08e6ef51)) +* dark theme background for item selector ([#269](https://github.com/defendicon/POS-Awesome-V15/issues/269)) ([693e582](https://github.com/defendicon/POS-Awesome-V15/commit/693e582ad84647de884feb5471dd8e05cd460d80)) +* dark theme styling for returns ([#341](https://github.com/defendicon/POS-Awesome-V15/issues/341)) ([a7b7f10](https://github.com/defendicon/POS-Awesome-V15/commit/a7b7f10e05467b07fda0b9173673cc987771d087)) +* **dark-mode:** ensure invoice table header is dark ([#313](https://github.com/defendicon/POS-Awesome-V15/issues/313)) ([b53951b](https://github.com/defendicon/POS-Awesome-V15/commit/b53951b0fffb325cdea68d25c539d9f1a03c371f)) +* **dark:** ensure v-card background black ([#304](https://github.com/defendicon/POS-Awesome-V15/issues/304)) ([4e8f4dd](https://github.com/defendicon/POS-Awesome-V15/commit/4e8f4ddb2aa3fde38f7a433af14eb4621378a33b)) +* debounce customer search ([#358](https://github.com/defendicon/POS-Awesome-V15/issues/358)) ([7eaa69c](https://github.com/defendicon/POS-Awesome-V15/commit/7eaa69cdb46b3f493b357225e9996429ab50fb58)) +* delivery charges autocomplete list ([55ddebf](https://github.com/defendicon/POS-Awesome-V15/commit/55ddebf436d31c29e1eefa97303d287677520dc0)) +* disable payment submit shortcut when dialog hidden ([#175](https://github.com/defendicon/POS-Awesome-V15/issues/175)) ([7077b89](https://github.com/defendicon/POS-Awesome-V15/commit/7077b89bc1b413792a0e3164e496efcaa99ccf3c)) +* display price list rate first in multi currency ([#737](https://github.com/defendicon/POS-Awesome-V15/issues/737)) ([ee4a6c3](https://github.com/defendicon/POS-Awesome-V15/commit/ee4a6c31f5376f36182c0a20639aac099d3fc979)) +* do not update item detail on return invoice [#414](https://github.com/defendicon/POS-Awesome-V15/issues/414) ([31d784b](https://github.com/defendicon/POS-Awesome-V15/commit/31d784b9e2054baa9de103c777787932aa22ccf7)) +* don't allow close the shift from payments ([b23f65d](https://github.com/defendicon/POS-Awesome-V15/commit/b23f65da2f12c62fb8d738d5f43f6d5d6a58e7b8)) +* drawer ([11d0817](https://github.com/defendicon/POS-Awesome-V15/commit/11d0817f8e02be814ce8052a0ae7a70bf1b7b935)) +* Duplicate key price list [#252](https://github.com/defendicon/POS-Awesome-V15/issues/252) ([942def7](https://github.com/defendicon/POS-Awesome-V15/commit/942def7c8ce31c678d7c08871457fa9b37faba13)) +* Edit Posting Date Not Working [#440](https://github.com/defendicon/POS-Awesome-V15/issues/440) ([4e34613](https://github.com/defendicon/POS-Awesome-V15/commit/4e34613ff6a783eff19f3d29698e4a37b7c45b65)) +* enable customer selection offline ([#143](https://github.com/defendicon/POS-Awesome-V15/issues/143)) ([a273960](https://github.com/defendicon/POS-Awesome-V15/commit/a2739601f25b414a0d37843567281f17497539cb)) +* enable offline customer search ([#462](https://github.com/defendicon/POS-Awesome-V15/issues/462)) ([c7263e8](https://github.com/defendicon/POS-Awesome-V15/commit/c7263e84555153076b5656bd3e30e64f9ffcea87)) +* enhance Pay.vue component with checkbox selection for unallocated payments ([#15](https://github.com/defendicon/POS-Awesome-V15/issues/15)) ([a0de2d9](https://github.com/defendicon/POS-Awesome-V15/commit/a0de2d909389a089f55a92733c878447d80a1f0c)) +* enhance sales person fetching and display functionality ([8a8fe65](https://github.com/defendicon/POS-Awesome-V15/commit/8a8fe659c6948174230f5b5f59dcb0c298ed5a2d)) +* Enhanced currency handling and rate persistence in Invoice component. Introduced logic to ensure base rates are correctly set and maintained across currency changes, preventing loss of manually entered rates. Improved calculations for item pricing and discounts, ensuring accurate conversions and updates for multi-currency scenarios. Added debugging logs for better traceability of rate updates. ([e773c6d](https://github.com/defendicon/POS-Awesome-V15/commit/e773c6d38cee7da6606ceb7355455b9581c1c8b7)) +* Enhanced offer handling and rate calculations in Invoice component. Improved logic for applying and removing offers, ensuring accurate updates to item rates and discounts based on conversion factors. Added error handling for JSON parsing and validation of offer items, enhancing robustness and user experience. ([21ef4c3](https://github.com/defendicon/POS-Awesome-V15/commit/21ef4c3c29a00566fa52ec168b44647ffe164cc1)) +* Enhanced rounding logic in Invoice and Payments components. Introduced a new rounding function to ensure accurate total calculations, especially for multi-currency transactions. Updated invoice and payment total handling to reflect these changes, improving overall accuracy and user experience. ([517d4ae](https://github.com/defendicon/POS-Awesome-V15/commit/517d4ae071c6ee3b04e98864bd75939976107fea)) +* ensure card background dark ([#299](https://github.com/defendicon/POS-Awesome-V15/issues/299)) ([36806fd](https://github.com/defendicon/POS-Awesome-V15/commit/36806fd739b2db209df021f347f908c91cc6971b)) +* ensure dark theme table backgrounds ([#272](https://github.com/defendicon/POS-Awesome-V15/issues/272)) ([d16cbf7](https://github.com/defendicon/POS-Awesome-V15/commit/d16cbf75ab10b0953a331a34ff54ab07406de004)) +* ensure item selector dark mode uses black background ([#274](https://github.com/defendicon/POS-Awesome-V15/issues/274)) ([9c78847](https://github.com/defendicon/POS-Awesome-V15/commit/9c78847524b7381b5a15551fa231927eb9922496)) +* Error in change calculations ([14a6cd3](https://github.com/defendicon/POS-Awesome-V15/commit/14a6cd33c9cecb9fde0b6c8859358cd1f381a145)) +* Error in Expected Amount On Shift Closing Screen / Change Amount not included in the calculation ([196ef19](https://github.com/defendicon/POS-Awesome-V15/commit/196ef19382204a759646f192b4c6daba456241e7)) +* error on receive phone payment ([fe21412](https://github.com/defendicon/POS-Awesome-V15/commit/fe21412bb4adbbd99549050f4056f1f13f0a3daa)) +* error validation when using is_cashback ([de26546](https://github.com/defendicon/POS-Awesome-V15/commit/de26546d3be3cb6c69963dc19342db1e292833f7)) +* Error while edit customer info [#201](https://github.com/defendicon/POS-Awesome-V15/issues/201) ([ddb7a22](https://github.com/defendicon/POS-Awesome-V15/commit/ddb7a226ca26b42532bceba7ac2f11045e5fde41)) +* events from evntBus ([68be77c](https://github.com/defendicon/POS-Awesome-V15/commit/68be77c33cf16a31617722b640d2a41abf16502c)) +* expanded invoice item table ([99600c5](https://github.com/defendicon/POS-Awesome-V15/commit/99600c540bcee86df104d4bc3afed73fc0dcd707)) +* expiry_date in Loyalty Point ([b2a0ad2](https://github.com/defendicon/POS-Awesome-V15/commit/b2a0ad25f6c7879b0be45a69ff5387b5ca092790)) +* filter the customers from customer groups in pos profile ([773689f](https://github.com/defendicon/POS-Awesome-V15/commit/773689f4b4979f0c648bbc381fb4e2834e08b5ad)) +* fremove priority from POS Offer ([fadec98](https://github.com/defendicon/POS-Awesome-V15/commit/fadec981d631a16b96297711e113bee7067ae96b)) +* fully clear cache including service worker ([#751](https://github.com/defendicon/POS-Awesome-V15/issues/751)) ([#752](https://github.com/defendicon/POS-Awesome-V15/issues/752)) ([30ac125](https://github.com/defendicon/POS-Awesome-V15/commit/30ac12533e6bc44152fb4ceb0d5b4f13fb59f9d6)) +* get apply offers ([e70e864](https://github.com/defendicon/POS-Awesome-V15/commit/e70e864de6c4aa2f514a7540c6e7285cc4537123)) +* get batch in V13 ([98fb77a](https://github.com/defendicon/POS-Awesome-V15/commit/98fb77a99ad5471c43fcdcc8d435a4c5a551cc6e)) +* get batch info for hold invoices ([892bbef](https://github.com/defendicon/POS-Awesome-V15/commit/892bbef5aa90fc9202073ee2fe9ef571263b53ce)) +* get batch number in V12 ([e9b9ebd](https://github.com/defendicon/POS-Awesome-V15/commit/e9b9ebd5b0650c7da3db6ceddb3126fa70dc1ced)) +* get customer outstanding invoices ([e6472d6](https://github.com/defendicon/POS-Awesome-V15/commit/e6472d64a7d2493fb58f63cf91abbf700f60d5dc)) +* get existing payment request ([e893c68](https://github.com/defendicon/POS-Awesome-V15/commit/e893c68b39c4f7ff0299685338ac0ba4a380f7f0)) +* get item qty ([0c02b81](https://github.com/defendicon/POS-Awesome-V15/commit/0c02b8117653a353dc7e4f2e3dc9406e23753c52)) +* get item qty in get_item_detail ([97e33ee](https://github.com/defendicon/POS-Awesome-V15/commit/97e33ee6733bee45860289b7bbed353675acb378)) +* get mpesa account ([1b5c17f](https://github.com/defendicon/POS-Awesome-V15/commit/1b5c17f61cf53948a36616d7ba3cbf288a58d2cc)) +* get only not disabled customers ([d28e8d6](https://github.com/defendicon/POS-Awesome-V15/commit/d28e8d6f929edd09fdeae1e4aab458325d5a063e)) +* get patch expiry_date ([d551e89](https://github.com/defendicon/POS-Awesome-V15/commit/d551e89672ec1137ab536b734c98ea82c7971583)) +* get stock qty in limit search ([5fe194b](https://github.com/defendicon/POS-Awesome-V15/commit/5fe194b8e24583df7715f90ea7b0a6d115318247)) +* get uom price list rate ([e7bb8e7](https://github.com/defendicon/POS-Awesome-V15/commit/e7bb8e7da2f5a34ab82dd83d5f85f5c8c5a91c76)) +* get version in frappe v13 ([a714059](https://github.com/defendicon/POS-Awesome-V15/commit/a714059840a02aa0da163399b66dc11d75b4263a)) +* get_item_detail ([d498a08](https://github.com/defendicon/POS-Awesome-V15/commit/d498a08a52aa0ff5595358c96e2b052717e9bb76)) +* **get_items:** guard limit and offset ([#429](https://github.com/defendicon/POS-Awesome-V15/issues/429)) ([461714a](https://github.com/defendicon/POS-Awesome-V15/commit/461714a5a2cf3ecb4df63a3d78e37c588570b421)) +* **get_items:** normalize limit/offset ([#432](https://github.com/defendicon/POS-Awesome-V15/issues/432)) ([0cbdd99](https://github.com/defendicon/POS-Awesome-V15/commit/0cbdd99a9d4b4b942a99dcb48a02511d9f28e1db)) +* **get_items:** validate limit and offset ([#434](https://github.com/defendicon/POS-Awesome-V15/issues/434)) ([f94feb7](https://github.com/defendicon/POS-Awesome-V15/commit/f94feb773a5f654ca0c356e2b39fd33796dc149a)) +* geting hold invoice with exsting invoice open ([8f95d43](https://github.com/defendicon/POS-Awesome-V15/commit/8f95d4336c370b4884332d37b85f361a5b734f9e)) +* go to desk in V12 ([0f2fb2e](https://github.com/defendicon/POS-Awesome-V15/commit/0f2fb2e0152d079565e53e0072f85bd55b8e3abc)) +* handle currency when multi-currency disabled ([#651](https://github.com/defendicon/POS-Awesome-V15/issues/651)) ([da88d9a](https://github.com/defendicon/POS-Awesome-V15/commit/da88d9a7284d330fd52fe40907a27ef29d7653af)) +* handle missing price list currency ([#653](https://github.com/defendicon/POS-Awesome-V15/issues/653)) ([07a7287](https://github.com/defendicon/POS-Awesome-V15/commit/07a728749f342416482c45c1677cb0d17986565a)) +* handle null pos_profile on shift close ([#168](https://github.com/defendicon/POS-Awesome-V15/issues/168)) ([fe7e819](https://github.com/defendicon/POS-Awesome-V15/commit/fe7e819639e3e4e373c31d69c48256fea8f70c6c)) +* hardcode print format ([9952dbc](https://github.com/defendicon/POS-Awesome-V15/commit/9952dbc7337e03c0d635eb6edf8f48dd4375e741)) +* Hardcoded Mode Of Payment ([92d7aeb](https://github.com/defendicon/POS-Awesome-V15/commit/92d7aeb6c07f901cc86a72993a06838ceeeb6a0d)) +* importing vuetyfi css ([0473f66](https://github.com/defendicon/POS-Awesome-V15/commit/0473f664b38267ed44f1bd2faa919728289d417c)) +* improve birthday formatting in customer creation and update ([276ab7b](https://github.com/defendicon/POS-Awesome-V15/commit/276ab7bd15df3bc21f29ba56f10ee33774717686)) +* improve item table text visibility ([#286](https://github.com/defendicon/POS-Awesome-V15/issues/286)) ([9d6ab7a](https://github.com/defendicon/POS-Awesome-V15/commit/9d6ab7a252ca50ed280fc3ce1530bc87ca4914d3)) +* improve search on return invoice ([e1f8529](https://github.com/defendicon/POS-Awesome-V15/commit/e1f8529d0010f9d588225075012671630554141a)) +* improve validate period in POS Closing Shift [#278](https://github.com/defendicon/POS-Awesome-V15/issues/278) ([29634f3](https://github.com/defendicon/POS-Awesome-V15/commit/29634f3e714beaefc7d4d87c7762f7401f5487ca)) +* Improved batch handling logic in Invoice component. Updated conditions for batch number comparison and streamlined quantity adjustments for return invoices, ensuring accurate stock calculations and better handling of batch quantities. ([423628b](https://github.com/defendicon/POS-Awesome-V15/commit/423628bed18c67d1e4747e2ba7a874b6183255be)) +* Improved batch number handling in Invoice component. Enhanced condition to ensure batch number data is only assigned when available, preventing potential errors. Updated batch quantity setting to pass null instead of undefined, addressing console warnings and improving overall stability. ([dc0b54c](https://github.com/defendicon/POS-Awesome-V15/commit/dc0b54c1ab5c76dffa237a807272d903d4311e9d)) +* Improved payment amount handling in Payments component. Updated logic to set full amounts only for the clicked payment method, ensuring accurate calculations for returns. Added console logs for better debugging and tracking of payment states. ([95b9920](https://github.com/defendicon/POS-Awesome-V15/commit/95b99203f6e7a62192fbb3dd00c465a3a4fc83b1)) +* include pos_profile in item APIs ([#440](https://github.com/defendicon/POS-Awesome-V15/issues/440)) ([8934a7f](https://github.com/defendicon/POS-Awesome-V15/commit/8934a7fb0f26e8e8b21de91440c2ff8a67c5a38d)) +* include pos_profile in item APIs ([#442](https://github.com/defendicon/POS-Awesome-V15/issues/442)) ([822c02a](https://github.com/defendicon/POS-Awesome-V15/commit/822c02a5416c53e678a8e37939658f55f0a9c20a)) +* Incorrect Item Price Display in ItemsSelector [#443](https://github.com/defendicon/POS-Awesome-V15/issues/443) ([f785d6b](https://github.com/defendicon/POS-Awesome-V15/commit/f785d6bac352e3f7a5d9c2b7dcc6c2904653a4b9)) +* Inputing item discount percentage leads to wrong discount amount [#243](https://github.com/defendicon/POS-Awesome-V15/issues/243) ([3f3ba26](https://github.com/defendicon/POS-Awesome-V15/commit/3f3ba264c387b9e5aafdcbdfed6b965956dc0a47)) +* invoice amount & items amount ([ed02da8](https://github.com/defendicon/POS-Awesome-V15/commit/ed02da83b9be726c6043178fa2eb983046ed783d)) +* Invoice component layout and functionality improvements. Adjusted item table height, enhanced button sizes and spacing for better usability, and organized input fields into a more structured layout for improved readability and interaction. ([fc0c2bd](https://github.com/defendicon/POS-Awesome-V15/commit/fc0c2bd2e7f0cff1847cb5b838e159ff3672aee0)) +* invoice direct payments ([ec89141](https://github.com/defendicon/POS-Awesome-V15/commit/ec891411f98bc866b2de85cfee9f6530ba5c129a)) +* Invoice layout adjustments for better alignment and readability. Removed unnecessary spacing and improved the structure of the total field to maintain row alignment. ([2560909](https://github.com/defendicon/POS-Awesome-V15/commit/256090971b2b4485f5f1e0d4b70bef9b372f71c9)) +* invoice payments with rounding amount ([a7a1f09](https://github.com/defendicon/POS-Awesome-V15/commit/a7a1f092656687609cfec4ef320465206e384e19)) +* invoice submitting error ([7c9c104](https://github.com/defendicon/POS-Awesome-V15/commit/7c9c104b1d33722d5ee3e496e24a83c339820e32)) +* **invoice:** ensure payment opens ([#176](https://github.com/defendicon/POS-Awesome-V15/issues/176)) ([a190010](https://github.com/defendicon/POS-Awesome-V15/commit/a190010dfe65c72978a3928f629b1a11fbe4d8d8)) +* Item groups not being feed to the product list ([a492584](https://github.com/defendicon/POS-Awesome-V15/commit/a4925842c0ee451c70e1b92a08bc676480fee712)) +* item qty and batch qty vaildation ([0b05585](https://github.com/defendicon/POS-Awesome-V15/commit/0b05585d4d1bd88119fb6a5fa07f454767235191)) +* item qty format ([0bebc9b](https://github.com/defendicon/POS-Awesome-V15/commit/0bebc9b303562c63779e189fe1f167df14f5a10d)) +* item qty not reset after update qty from qty field [#259](https://github.com/defendicon/POS-Awesome-V15/issues/259) ([c89c256](https://github.com/defendicon/POS-Awesome-V15/commit/c89c2563484a9a2f9c04d591392e90b23909b09f)) +* Item Quantity and UOM Display Issues in POS ([443cdc0](https://github.com/defendicon/POS-Awesome-V15/commit/443cdc0268e14bfe71dfd54b620d98e2bc9577f3)) +* Item Quantity and UOM Display Issues in POS ([4090207](https://github.com/defendicon/POS-Awesome-V15/commit/4090207609a430f767bba969d67cba09212406f0)) +* item row amount format ([f858c57](https://github.com/defendicon/POS-Awesome-V15/commit/f858c579a72fa11a56d106a18e6cc1f5fa567122)) +* items cards layout ([0a210ed](https://github.com/defendicon/POS-Awesome-V15/commit/0a210ed62b073a8f729620a146a876d7b1e45fcd)) +* items total discount ([e9f93c3](https://github.com/defendicon/POS-Awesome-V15/commit/e9f93c37af512dc56f3a078527d357672f21e72d)) +* **items:** load default price list ([#471](https://github.com/defendicon/POS-Awesome-V15/issues/471)) ([8075456](https://github.com/defendicon/POS-Awesome-V15/commit/80754562e2055da65ff7fb06316edcd3160f74e4)) +* **items:** reload items when limit search ([#445](https://github.com/defendicon/POS-Awesome-V15/issues/445)) ([d1b287f](https://github.com/defendicon/POS-Awesome-V15/commit/d1b287f75779b708869dad053d8a60b3247a1355)) +* layout ([dd17bee](https://github.com/defendicon/POS-Awesome-V15/commit/dd17bee33c2223d6358edc6b82802bc39c90e2eb)) +* List of territories is being filtered out when creating a new customer [#288](https://github.com/defendicon/POS-Awesome-V15/issues/288) ([e0ecf4e](https://github.com/defendicon/POS-Awesome-V15/commit/e0ecf4e2918f0064545122f20e6b2700e5262cf7)) +* load item rate before adding ([#472](https://github.com/defendicon/POS-Awesome-V15/issues/472)) ([50bb903](https://github.com/defendicon/POS-Awesome-V15/commit/50bb9035aae6e9ed3015d07a32cadb3999a87866)) +* load items when limit search with force reload ([#446](https://github.com/defendicon/POS-Awesome-V15/issues/446)) ([3170da1](https://github.com/defendicon/POS-Awesome-V15/commit/3170da154573cf1716d4d2edb83369cfc8312b68)) +* load offer items from local storage ([1b6366c](https://github.com/defendicon/POS-Awesome-V15/commit/1b6366ccff26dec22702809ea77afc4024dcac4f)) +* loading invoice & paste ([d484021](https://github.com/defendicon/POS-Awesome-V15/commit/d484021d50b77114207ae52b1681853b463798e7)) +* loading stuck items ([#480](https://github.com/defendicon/POS-Awesome-V15/issues/480)) ([fdb618a](https://github.com/defendicon/POS-Awesome-V15/commit/fdb618a7ddf77f2c21b8c290aada2a6c22ed3da6)) +* local variable 'total_cash' referenced before assignment ([b14dee3](https://github.com/defendicon/POS-Awesome-V15/commit/b14dee3b9de6d9c785673a33007332de47814c6d)) +* lock POS price list ([#392](https://github.com/defendicon/POS-Awesome-V15/issues/392)) ([8c1ac1c](https://github.com/defendicon/POS-Awesome-V15/commit/8c1ac1c5531256ad12ef52c487daef0d9df8203e)) +* log error in mpesa ([7cbd734](https://github.com/defendicon/POS-Awesome-V15/commit/7cbd734ffc9fdd7494257413065deefb171174a2)) +* make customer_id optional ([#762](https://github.com/defendicon/POS-Awesome-V15/issues/762)) ([03a4f1c](https://github.com/defendicon/POS-Awesome-V15/commit/03a4f1c8a59b7ea939e2290cf4de17a1da06f8d3)) +* make customer_id optional ([#829](https://github.com/defendicon/POS-Awesome-V15/issues/829)) ([81a35ee](https://github.com/defendicon/POS-Awesome-V15/commit/81a35ee3b01a7c72d1590439084b95398962bc70)) +* missing name in custom field fixture ([#164](https://github.com/defendicon/POS-Awesome-V15/issues/164)) ([65867eb](https://github.com/defendicon/POS-Awesome-V15/commit/65867eb06ccdc474b1692db78b58a4e1f03313f8)) +* missing quotation mark ([638afe3](https://github.com/defendicon/POS-Awesome-V15/commit/638afe3ff21006babe8d594a47aad61bc6c44552)) +* Mpesa C2B ([bc01f2b](https://github.com/defendicon/POS-Awesome-V15/commit/bc01f2bf9288fbd148c0e60ae70b2893f812e2f3)) +* Multi-currency handling improved in invoice processing. Enhanced logic for setting currency and conversion rates, ensuring accurate calculations for items, payments, and totals. Updated UI components to reflect changes in currency selection and exchange rates, providing a more seamless user experience. ([589b595](https://github.com/defendicon/POS-Awesome-V15/commit/589b595cdc411ad4f74054961c05e5e8788cef74)) +* Multi-currency support enhanced in invoice processing. Updated currency handling in invoice calculations, item rates, and payment displays. Improved formatting for currency values and ensured correct conversion rates are applied throughout the invoice workflow. ([7b96a61](https://github.com/defendicon/POS-Awesome-V15/commit/7b96a61b153cbfa34a2e0d0d1315157617eb9731)) +* Multiple Payment Entries Upon Clicking Multiple Times on Submit Payments and optimize payment entry creation, also enhance UI responsiveness ([#13](https://github.com/defendicon/POS-Awesome-V15/issues/13)) ([385c0c5](https://github.com/defendicon/POS-Awesome-V15/commit/385c0c5523ebc3e0a87c30fcc6494e94d8ddc8db)) +* **Navbar:** reduce snackbar timeout and improve offline mode feedback ([#459](https://github.com/defendicon/POS-Awesome-V15/issues/459)) ([0088c20](https://github.com/defendicon/POS-Awesome-V15/commit/0088c20b04c2aeb9535b529b59b3f0e2092d6291)) +* **navbar:** update color on theme change ([#324](https://github.com/defendicon/POS-Awesome-V15/issues/324)) ([dced3bd](https://github.com/defendicon/POS-Awesome-V15/commit/dced3bdeba1a58e36224c3b74667c61481148cb0)) +* No module named 'erpnext.portal.product_configurator.item_variants_cache' in Erpnext Version 13.11.0 ([57a126c](https://github.com/defendicon/POS-Awesome-V15/commit/57a126c2293cadfec03a1af80e68e69aa48dc499)) +* no need to watch customer_price_list changes ([8878232](https://github.com/defendicon/POS-Awesome-V15/commit/8878232ce15dd603f4504dc2a86a1a86aadb02cc)) +* not all customers are showing in search ([4d85236](https://github.com/defendicon/POS-Awesome-V15/commit/4d8523623d3dce33a961b09fb9e10d29ccd8d530)) +* not getting actual qty correctly ([a056765](https://github.com/defendicon/POS-Awesome-V15/commit/a056765d940800df261d5c1c5ad5e6557d655e30)) +* not getting discount in return ([1466216](https://github.com/defendicon/POS-Awesome-V15/commit/1466216ec37d26a61aa31c51a98de9bac5b2ebf7)) +* **offline:** send correct args for invoice sync ([#137](https://github.com/defendicon/POS-Awesome-V15/issues/137)) ([7a029ff](https://github.com/defendicon/POS-Awesome-V15/commit/7a029ff72c38bc61cc5b4d1a431b5845f091a337)) +* offset pos content below navbar ([#162](https://github.com/defendicon/POS-Awesome-V15/issues/162)) ([026d1c8](https://github.com/defendicon/POS-Awesome-V15/commit/026d1c896d4e4976a2956f4a862fe85a9a0a4dd8)) +* on Credit Sales the Due Date not changing [#418](https://github.com/defendicon/POS-Awesome-V15/issues/418) ([8cbd5fd](https://github.com/defendicon/POS-Awesome-V15/commit/8cbd5fdebd9728b58c4924223a3171b11c637327)) +* **opening-shift:** allow editing opening amount ([#344](https://github.com/defendicon/POS-Awesome-V15/issues/344)) ([171fca6](https://github.com/defendicon/POS-Awesome-V15/commit/171fca62e2f144f21051b13cce63b07c15c86a41)) +* optimize price refresh during customer change ([#416](https://github.com/defendicon/POS-Awesome-V15/issues/416)) ([b8c762c](https://github.com/defendicon/POS-Awesome-V15/commit/b8c762c4f24f46efd130627909ca5471e7b5fffc)) +* **package.json:** update build script to use build.js for a more streamlined build process. This change simplifies the build command, enhancing the overall development workflow by directly executing the build script. ([ac944e1](https://github.com/defendicon/POS-Awesome-V15/commit/ac944e1f10d051e12a34f12d2c671f5d4ce356d1)) +* Paid amount wrong value ([5d241df](https://github.com/defendicon/POS-Awesome-V15/commit/5d241dfa52390878abb2998ead8d3721348a8703)) +* Payment Entry and Journal Entry Auto-Cancellation ([b44f5a1](https://github.com/defendicon/POS-Awesome-V15/commit/b44f5a170123ef11af39503af1e1272bceadc0f5)) +* pervent change rate & uom & discount if is return ([e339d9f](https://github.com/defendicon/POS-Awesome-V15/commit/e339d9f99b602a75128e30900d3472398e52223c)) +* populate customer_info when selecting customer for editing ([ce508e7](https://github.com/defendicon/POS-Awesome-V15/commit/ce508e78f16d43034d94c5e8827203fd07054fc9)) +* POS can't make Sales Order if there is no stock ([04eb8de](https://github.com/defendicon/POS-Awesome-V15/commit/04eb8dede1fa8da4e85b32cab4c3d33eaf644b46)) +* POS Closing Shift difference amount [#323](https://github.com/defendicon/POS-Awesome-V15/issues/323) ([11a0252](https://github.com/defendicon/POS-Awesome-V15/commit/11a0252f574138b2522f56e91bfd906c35111fe2)) +* POS Closing Shift field “amended_from” duplicated ([61210ca](https://github.com/defendicon/POS-Awesome-V15/commit/61210ca8189863a1a49032a9b8dc3667b034774f)) +* pos layout to fit smaller screen ([8dba141](https://github.com/defendicon/POS-Awesome-V15/commit/8dba1410f08cef6cbf763f1b22423a3d3a8fced9)) +* POS not working on IOS 14 ([25029c9](https://github.com/defendicon/POS-Awesome-V15/commit/25029c9ca6e73bd624d88e2bae3f9c5203e603e8)) +* POS Offers should be able to bypass the maximum discount set as a limit ([07cd651](https://github.com/defendicon/POS-Awesome-V15/commit/07cd651e04dd3301ba11a12bbc91e415fd2b8cd9)) +* pos_closing_shift posapp.py ([b66d533](https://github.com/defendicon/POS-Awesome-V15/commit/b66d5335d186f59ebdecda1847393744dfead5c1)) +* **POSClosingShift, POSOpeningShift:** enhance cashier retrieval ([f53b53e](https://github.com/defendicon/POS-Awesome-V15/commit/f53b53ed550520700b5004e14915e29f0d48c204)) +* **POSClosingShift, POSOpeningShift:** improve cashier data format ([285a2c7](https://github.com/defendicon/POS-Awesome-V15/commit/285a2c77122afb8c52738e10fc4ab762871698f8)) +* **pos:** refresh item prices on customer change ([#346](https://github.com/defendicon/POS-Awesome-V15/issues/346)) ([98f7bad](https://github.com/defendicon/POS-Awesome-V15/commit/98f7badac31ad25afe4a491d12c222c56566ac96)) +* Posting date functionality improved by replacing PostingDate component with a v-menu and v-date-picker for better user experience. Updated invoice submission process to reset posting date to current date. ([d9b4a66](https://github.com/defendicon/POS-Awesome-V15/commit/d9b4a6626ca0cbdfaacee416675b25c6d6f65952)) +* Posting date now reset to current date when invoice is submit. ([e67796b](https://github.com/defendicon/POS-Awesome-V15/commit/e67796b55923921ccbba1ee14a415d84588aaaca)) +* preserve base rate on item expand ([#742](https://github.com/defendicon/POS-Awesome-V15/issues/742)) ([37c7315](https://github.com/defendicon/POS-Awesome-V15/commit/37c7315219c12a493c9b9d7ffa8c8691c437dee4)) +* preserve stock cache on sync ([#264](https://github.com/defendicon/POS-Awesome-V15/issues/264)) ([e70f37d](https://github.com/defendicon/POS-Awesome-V15/commit/e70f37da74d207d6fd0c1be7dd931d8a5ae0c437)) +* prevent runaway item detail retries ([#203](https://github.com/defendicon/POS-Awesome-V15/issues/203)) ([be24cae](https://github.com/defendicon/POS-Awesome-V15/commit/be24cae14e3a6c2838a928cfaea458de159b4a6e)) +* **price-list:** load lists and refresh items ([#734](https://github.com/defendicon/POS-Awesome-V15/issues/734)) ([f7e9442](https://github.com/defendicon/POS-Awesome-V15/commit/f7e94420349b0b0c27c9cec3422bce1be33167f2)) +* printing in V12 ([25acb4d](https://github.com/defendicon/POS-Awesome-V15/commit/25acb4d71450effda155df6d9c361c6d735bef3f)) +* Readme ([2815025](https://github.com/defendicon/POS-Awesome-V15/commit/28150255b3da926e69781fb5fa5732fcdcdf4d7d)) +* README repo link ([daa30d3](https://github.com/defendicon/POS-Awesome-V15/commit/daa30d3e1a993b23ad2107346bc7dd52d583b631)) +* redeem loyalty points ([e6571b0](https://github.com/defendicon/POS-Awesome-V15/commit/e6571b031c02e92ee3cf02385445b18760879534)) +* redeeming customer credit in muti company setup ([d3568ba](https://github.com/defendicon/POS-Awesome-V15/commit/d3568ba4abb25fca16e61fe05daf91a6d06820d2)) +* redeeming customer credit not working with Allow Submissions in background job option ([f20dea1](https://github.com/defendicon/POS-Awesome-V15/commit/f20dea1579f6a1fff1ce0924977881d55a047a8e)) +* Refined item indexing logic in Invoice component to support batch handling. Enhanced conditions for finding existing items based on auto_set_batch settings, ensuring accurate quantity increments for batch items. This improves the overall functionality and user experience when managing items with batch numbers. ([01a877c](https://github.com/defendicon/POS-Awesome-V15/commit/01a877cb13d0df798e4c9e7607d50b9748ed88e7)) +* Refined new item handling logic in Invoice component. Updated conditions to ensure new_item is defined before attempting to expand item details, enhancing the robustness of item expansion functionality and improving overall user experience. ([2b1b1e3](https://github.com/defendicon/POS-Awesome-V15/commit/2b1b1e32138b4a091d7cc4a3736da742125c1236)) +* refresh item qty when online ([#152](https://github.com/defendicon/POS-Awesome-V15/issues/152)) ([969dac5](https://github.com/defendicon/POS-Awesome-V15/commit/969dac58bd003f3e7f979f1cf5a61bd17dbb80ef)) +* refresh stock cache after syncing offline invoices ([#258](https://github.com/defendicon/POS-Awesome-V15/issues/258)) ([e344943](https://github.com/defendicon/POS-Awesome-V15/commit/e344943bf9fe6d457ef0da1f2a8efc085adae279)) +* refresh stock cache when going online ([#257](https://github.com/defendicon/POS-Awesome-V15/issues/257)) ([3a399a6](https://github.com/defendicon/POS-Awesome-V15/commit/3a399a6af5106a826f5cd6adb6996d07edb9f6e9)) +* reload item rates when price list cache missing ([#470](https://github.com/defendicon/POS-Awesome-V15/issues/470)) ([76c51d6](https://github.com/defendicon/POS-Awesome-V15/commit/76c51d6c2512ef60ee3f7603ed4efacbc9a50732)) +* remove enter event from search items field ([41f5bf8](https://github.com/defendicon/POS-Awesome-V15/commit/41f5bf8c05815d43a2daed09b5a10f6dd0156f66)) +* remove item if qty changed ot 0 ([051d954](https://github.com/defendicon/POS-Awesome-V15/commit/051d9544d378b7b5d38b9735eff24ab5087ab9d3)) +* remove trailing comma in utils ([#220](https://github.com/defendicon/POS-Awesome-V15/issues/220)) ([ac91335](https://github.com/defendicon/POS-Awesome-V15/commit/ac91335dfe8c465e8d213529dc30b2414d975616)) +* remove unnecessary import ([8bfd8ea](https://github.com/defendicon/POS-Awesome-V15/commit/8bfd8ea5ffa4c2998bc2cc1012384ccf1ce4d273)) +* remove unused payment's method from sales invoice ([c0735de](https://github.com/defendicon/POS-Awesome-V15/commit/c0735de4389befcb02dabdbe1c9ee6de2325c8b5)) +* Removed duplicated tax calculation logic from the Invoice component to streamline total amount computation. ([51f8896](https://github.com/defendicon/POS-Awesome-V15/commit/51f889653c4a4e6ee4f55cf82a6c83293c681e37)) +* removing frappe nav ([887c47f](https://github.com/defendicon/POS-Awesome-V15/commit/887c47f8b3d792557e262119d0a72274a8ef4e5c)) +* removing frappe nav ([515ddd5](https://github.com/defendicon/POS-Awesome-V15/commit/515ddd561115154cdbd8dcf55b86d8b54c3153c5)) +* reset loading on failed item search ([#449](https://github.com/defendicon/POS-Awesome-V15/issues/449)) ([dd4be33](https://github.com/defendicon/POS-Awesome-V15/commit/dd4be335afd18eb3e2a289505335b720cbf42ad3)) +* reset offline state after invoice sync ([#262](https://github.com/defendicon/POS-Awesome-V15/issues/262)) ([f29775a](https://github.com/defendicon/POS-Awesome-V15/commit/f29775a647a36de47848e620813c5d5aba554754)) +* reset qty on invoice clear and offline ([#256](https://github.com/defendicon/POS-Awesome-V15/issues/256)) ([6e48a47](https://github.com/defendicon/POS-Awesome-V15/commit/6e48a47a40c451d160c96154daa1906aecf3e570)) +* respect valid from and vaild up to on getting item prices [#363](https://github.com/defendicon/POS-Awesome-V15/issues/363) ([3c9790b](https://github.com/defendicon/POS-Awesome-V15/commit/3c9790b4b4cc24738b8a8b5cebff7758d3870db9)) +* restore light theme styles for customer autocomplete ([#289](https://github.com/defendicon/POS-Awesome-V15/issues/289)) ([35987a6](https://github.com/defendicon/POS-Awesome-V15/commit/35987a6cb72e87d0dcc725f979424bdff5de2e1c)) +* return in version 12 ([a132e1c](https://github.com/defendicon/POS-Awesome-V15/commit/a132e1c057138eb49147ee573d5d44083bf1a310)) +* return invoice from held [#445](https://github.com/defendicon/POS-Awesome-V15/issues/445) ([53ead0c](https://github.com/defendicon/POS-Awesome-V15/commit/53ead0cdb214835a2015331361e47d9b0e8cdf19)) +* Return invoice handling improved with negative amounts for discounts, totals, and payments. Enhanced logic to ensure proper processing of return invoices, including adjustments for item quantities and amounts. Added console logs for better debugging and tracking of return invoice states. ([3f70aae](https://github.com/defendicon/POS-Awesome-V15/commit/3f70aae3eb6fc570436524ef3e91c36ca8288444)) +* return item with Serial No ([4e02d54](https://github.com/defendicon/POS-Awesome-V15/commit/4e02d5491145d785b34d187e46d161af9620df73)) +* return non update stock invoice ([8ca4cd7](https://github.com/defendicon/POS-Awesome-V15/commit/8ca4cd76699e51544a4d07e8420cb4dfcc54ed37)) +* Round off amount sent to Mpesa, as Mpesa doesn't accept decimals [#286](https://github.com/defendicon/POS-Awesome-V15/issues/286) ([92446ae](https://github.com/defendicon/POS-Awesome-V15/commit/92446ae015a313f505e4e6e1e3462a383819b27e)) +* rounding & numbers format ([b4a7141](https://github.com/defendicon/POS-Awesome-V15/commit/b4a7141174d30aba9249e9db8badc5e43172cfa8)) +* Sales taxes are zeroed out on Sales Invoice [#362](https://github.com/defendicon/POS-Awesome-V15/issues/362) ([1ce8b9a](https://github.com/defendicon/POS-Awesome-V15/commit/1ce8b9a3b8c17c7af0f96c628d3fd47596c62bf8)) +* sanitize item group condition ([#425](https://github.com/defendicon/POS-Awesome-V15/issues/425)) ([7be472b](https://github.com/defendicon/POS-Awesome-V15/commit/7be472b49571dc5b7fa08afdb2b513312f4b052d)) +* sanitize profile when saving offline payments ([#468](https://github.com/defendicon/POS-Awesome-V15/issues/468)) ([da2ceef](https://github.com/defendicon/POS-Awesome-V15/commit/da2ceef4da236314bdb39d725f55b162f1b9ad42)) +* save invoice error ([d7f4404](https://github.com/defendicon/POS-Awesome-V15/commit/d7f4404b82cd152df916b4de6c0492bb480ff5ee)) +* Scan barcode on first item with enough qty shows error ([c6a24e4](https://github.com/defendicon/POS-Awesome-V15/commit/c6a24e4b0df9037f8ef1472e6a0faa645cf8831c)) +* scrollbar issue in payment ([b35f109](https://github.com/defendicon/POS-Awesome-V15/commit/b35f1093834eb35319cae4d9b875bf827775e4e7)) +* search and add items with limt search ([c774a02](https://github.com/defendicon/POS-Awesome-V15/commit/c774a02ef971dc68266c5bad571ed65316b6fda2)) +* search barcode in items search ([26f6132](https://github.com/defendicon/POS-Awesome-V15/commit/26f61321db396dfc0dd24d46206cd3ea710acae8)) +* search item code first ([88ad0c5](https://github.com/defendicon/POS-Awesome-V15/commit/88ad0c533f3a2031baab4ae6216556061692831a)) +* **search:** handle empty item code ([#424](https://github.com/defendicon/POS-Awesome-V15/issues/424)) ([49b6122](https://github.com/defendicon/POS-Awesome-V15/commit/49b6122c0c512aa50fbc0d15f1ad9e60fedbc7ac)) +* set customer addresses ([cda4f2d](https://github.com/defendicon/POS-Awesome-V15/commit/cda4f2d4b3198c1f437be843078e4c9b7c862b99)) +* set difference in payment reconciliation in closing shfit ([3ae0feb](https://github.com/defendicon/POS-Awesome-V15/commit/3ae0feb9e823f83d537697df3f50866cb8f59dd4)) +* set items taxs and tax category ([a230b00](https://github.com/defendicon/POS-Awesome-V15/commit/a230b0014ec3d5941c4260ec02011f0cc6d951d3)) +* Shortcut Key for item expansion functionality in Invoice component. Implemented single row expansion, improved keyboard shortcuts for toggling item details, and refined item quantity adjustment methods. Updated logic for handling expanded states to ensure accurate item detail updates and better user experience. ([29edf23](https://github.com/defendicon/POS-Awesome-V15/commit/29edf23040dbaad761d030ee80de50c2ce73dadd)) +* Shortcuts Keys Working ([#16](https://github.com/defendicon/POS-Awesome-V15/issues/16)) ([59725fc](https://github.com/defendicon/POS-Awesome-V15/commit/59725fc4f3dfec2e92ca9363010f0359c3e7892a)) +* Shortcuts not working [#343](https://github.com/defendicon/POS-Awesome-V15/issues/343) ([4d83ec7](https://github.com/defendicon/POS-Awesome-V15/commit/4d83ec76d61cac5e7fae4e72da08db9a16f5dca5)) +* should not get return invoices ([ad33502](https://github.com/defendicon/POS-Awesome-V15/commit/ad33502a2b02c708166c243cbb70438586c2884a)) +* show cached customers when fetch fails ([#144](https://github.com/defendicon/POS-Awesome-V15/issues/144)) ([0b2a4a6](https://github.com/defendicon/POS-Awesome-V15/commit/0b2a4a6375deb029296d3be675ee00ca786b0986)) +* show decimals only for rates with decimal value ([#266](https://github.com/defendicon/POS-Awesome-V15/issues/266)) ([f8a3122](https://github.com/defendicon/POS-Awesome-V15/commit/f8a31225707a7c1ea0dfdb46cc3289ad7babe81c)) +* show snackbar text for exchange rate warnings ([#743](https://github.com/defendicon/POS-Awesome-V15/issues/743)) ([8e11a9a](https://github.com/defendicon/POS-Awesome-V15/commit/8e11a9a9d408676cf9306e08686defc80041d22f)) +* Shows existing quantity is not enough even if there is stock in the selected Warehouse ([bcc1f58](https://github.com/defendicon/POS-Awesome-V15/commit/bcc1f580ee6f390588b3274380a98578ac8303c3)) +* speed of barcode scanner ([0e13cdb](https://github.com/defendicon/POS-Awesome-V15/commit/0e13cdbc3557bb663396186519a0165c4c580ef5)) +* srarch word ([b1ed986](https://github.com/defendicon/POS-Awesome-V15/commit/b1ed9863362342cc78995b5ed12345bd6809445a)) +* Stock Balance Become 0 after Invoice Cancelled ([29472c7](https://github.com/defendicon/POS-Awesome-V15/commit/29472c7d43d2df745bf73893bbc51e57a55167a9)) +* submit_in_background_job ([362333a](https://github.com/defendicon/POS-Awesome-V15/commit/362333ac0ab895325a01a9fa4917f90f9cd5dfef)) +* **sync:** ensure offline customers synced before invoices ([#160](https://github.com/defendicon/POS-Awesome-V15/issues/160)) ([ce02e51](https://github.com/defendicon/POS-Awesome-V15/commit/ce02e51075d50c34c37fa7b419a72e366198e4fb)) +* tax calculation ([752fc39](https://github.com/defendicon/POS-Awesome-V15/commit/752fc39182f57ae819fe51e206622392307a7858)) +* The 'Default Sales Order' setting is not always persistant [#428](https://github.com/defendicon/POS-Awesome-V15/issues/428) ([dedf80d](https://github.com/defendicon/POS-Awesome-V15/commit/dedf80d6d308fd4f2ffb4d09923c2afe5f6afd6a)) +* this.eventBus to vm.eventBus ([cd1caa5](https://github.com/defendicon/POS-Awesome-V15/commit/cd1caa5e028d55048d9b166ebc2c2136a0a0140a)) +* uniform date picker layout ([#187](https://github.com/defendicon/POS-Awesome-V15/issues/187)) ([d8df2fa](https://github.com/defendicon/POS-Awesome-V15/commit/d8df2fa00fc00620732d887ee08fa98a073960bf)) +* update custom field insert order and remove unused price list dropdown ([eb5c212](https://github.com/defendicon/POS-Awesome-V15/commit/eb5c21227b666e8413d4b5574afce13c9c56932d)) +* update date picker functionality in Payments.vue ([896fe30](https://github.com/defendicon/POS-Awesome-V15/commit/896fe304ba5a201b871cda478134d328ae5f9b8f)) +* update description in custom_field.json for clarity on price list reload behavior ([78bd024](https://github.com/defendicon/POS-Awesome-V15/commit/78bd024210ca8a27dbbb7c9883df96b9d406ce25)) +* update insert_after field in custom_field.json for proper order ([7e80792](https://github.com/defendicon/POS-Awesome-V15/commit/7e80792a3757211877d9ad6ed28dd5ef259bc610)) +* update invoice date picker ([#190](https://github.com/defendicon/POS-Awesome-V15/issues/190)) ([8f83342](https://github.com/defendicon/POS-Awesome-V15/commit/8f83342f272cf559cdad5e273876e02acf6aab69)) +* update invoice search functionality and UI enhancements ([59d33ec](https://github.com/defendicon/POS-Awesome-V15/commit/59d33ec556bf13de8656f082a8bfda9041ea5960)) +* update item selector for dark mode ([#270](https://github.com/defendicon/POS-Awesome-V15/issues/270)) ([b3f4688](https://github.com/defendicon/POS-Awesome-V15/commit/b3f468851537c4effd6cc3f51254bf795f9b12b1)) +* update items after customer price list change ([#420](https://github.com/defendicon/POS-Awesome-V15/issues/420)) ([3b859de](https://github.com/defendicon/POS-Awesome-V15/commit/3b859de2a43ffb0aebc14dc9f77e4aa46a4ebf42)) +* update navbar color for dark mode ([#323](https://github.com/defendicon/POS-Awesome-V15/issues/323)) ([14c8f65](https://github.com/defendicon/POS-Awesome-V15/commit/14c8f6501fea20e3cf64e7b9ae8cbbddd390bda0)) +* update navigation route in Navbar component ([2fcc4a0](https://github.com/defendicon/POS-Awesome-V15/commit/2fcc4a0adcbd9fccd7185847f7f9576f9b88806a)) +* update price list handling ([#334](https://github.com/defendicon/POS-Awesome-V15/issues/334)) ([5af9ad5](https://github.com/defendicon/POS-Awesome-V15/commit/5af9ad5dec50f29679dbcc4c89d751f6907ed248)) +* update register url mpesa c2b ([f1fa302](https://github.com/defendicon/POS-Awesome-V15/commit/f1fa302a99dc6ff9941880e34e8981f3847814d1)) +* Updated discount handling logic in Invoice component. ([#40](https://github.com/defendicon/POS-Awesome-V15/issues/40)) ([46aa78c](https://github.com/defendicon/POS-Awesome-V15/commit/46aa78ccaeb9cd2680eb19220b8bee73b6b0e00a)) +* Updated discount handling logic in Invoice component. Refactored discount input event to use [@change](https://github.com/change) for better user interaction, ensuring accurate calculations based on user input. Added console logs for debugging to track discount calculations and prevent division by zero errors, enhancing overall functionality and user experience. ([1663bbb](https://github.com/defendicon/POS-Awesome-V15/commit/1663bbb969628804cb24176ff0ca092c930e9424)) +* Updated ItemsSelector component to enhance UI consistency. Changed data table class from 'elevation-1' to 'elevation-0 sleek-data-table' for a sleeker appearance. Added custom styles for the sleek-data-table to match the design of Customer.vue, including border-radius, box-shadow, and background color adjustments, improving overall aesthetics and user experience. ([5289a86](https://github.com/defendicon/POS-Awesome-V15/commit/5289a86558c3b76a65b72d85913cf2a6e9d3b742)) +* Updated POS Profile handling in posapp.js and Pos.vue. Refactored logic to ensure accurate updates of total amounts based on tax-inclusive settings upon POS Profile registration. Improved event emission for better integration between components, enhancing overall functionality and user experience. ([55c4299](https://github.com/defendicon/POS-Awesome-V15/commit/55c4299e83429aee94e199321eed045b5a9d602c)) +* updating pricing rule ([fa37a25](https://github.com/defendicon/POS-Awesome-V15/commit/fa37a25bf22d56c1767afa3d059f04c6bdcd1b4a)) +* use allow_negative_stock for stock validation ([3ea9247](https://github.com/defendicon/POS-Awesome-V15/commit/3ea9247ffb95c7cf4eedd3609f0f426323d32441)) +* use customer credit with new payments ([9689782](https://github.com/defendicon/POS-Awesome-V15/commit/96897828a992f142e7f70b730685a923f6c6e152)) +* use selected currency in item detail update ([#740](https://github.com/defendicon/POS-Awesome-V15/issues/740)) ([e2c9b64](https://github.com/defendicon/POS-Awesome-V15/commit/e2c9b64de395aa9dcbd5f9e726c22f2f63f5a92e)) +* v-model cannot be used on a prop in OpeningDialog [#349](https://github.com/defendicon/POS-Awesome-V15/issues/349) ([37e422a](https://github.com/defendicon/POS-Awesome-V15/commit/37e422a0fd6c59e44f0c6fa4faee12ca206c986e)) +* validate invoice for pos shift [#450](https://github.com/defendicon/POS-Awesome-V15/issues/450) ([f269829](https://github.com/defendicon/POS-Awesome-V15/commit/f269829196fa40dfaa0df295dccc270e90ff6aae)) +* validate not sotck items ([c1a8a8b](https://github.com/defendicon/POS-Awesome-V15/commit/c1a8a8b882b61b623aacb105ac85ba2216cbb0c4)) +* validate payments after receive phone payment ([5f0baf3](https://github.com/defendicon/POS-Awesome-V15/commit/5f0baf310aef8a29daca5e8c626f4631795cde8f)) +* validate_referral_code ([4d9542f](https://github.com/defendicon/POS-Awesome-V15/commit/4d9542fec83d1a32d6cf487d80ada2408df1eabf)) +* value ([35b6572](https://github.com/defendicon/POS-Awesome-V15/commit/35b657267180fbd1db39baad853711dd35ca25ed)) +* value ([d7f518f](https://github.com/defendicon/POS-Awesome-V15/commit/d7f518fd071d2ed14031c26f2a8d694113036086)) +* wait for offline init before loading customers ([#463](https://github.com/defendicon/POS-Awesome-V15/issues/463)) ([33cfad7](https://github.com/defendicon/POS-Awesome-V15/commit/33cfad7f60c1118c46064d66cbdfd9d1296eddd8)) + + +### Features + +* Display customer name on list of held invoices instead of customer id [#289](https://github.com/defendicon/POS-Awesome-V15/issues/289) ([9f1501e](https://github.com/defendicon/POS-Awesome-V15/commit/9f1501e19408173e998d336136aac63c2b6728b2)) +* Ability to change posting date ([63d3f9b](https://github.com/defendicon/POS-Awesome-V15/commit/63d3f9bcf484faa58e5615b0a8d46083ccadc94c)) +* About in menu ([02d3455](https://github.com/defendicon/POS-Awesome-V15/commit/02d345508659894058536a9e049a874c974632dd)) +* add credit return option ([#209](https://github.com/defendicon/POS-Awesome-V15/issues/209)) ([37b7d36](https://github.com/defendicon/POS-Awesome-V15/commit/37b7d36d6e83cbc00ee3727b191a8e9a91d2851d)) +* add customer ([c064ca6](https://github.com/defendicon/POS-Awesome-V15/commit/c064ca632423b40786656f335fa73e11f1ead615)) +* add customer address ([0de8325](https://github.com/defendicon/POS-Awesome-V15/commit/0de8325042fb3a358547ac4a4340ef4c94abe5c1)) +* add dark mode for offline invoices ([#327](https://github.com/defendicon/POS-Awesome-V15/issues/327)) ([afd4c77](https://github.com/defendicon/POS-Awesome-V15/commit/afd4c778b9ddd3f547a95b64335704a77218ab41)) +* add dark mode styles for item tables ([#268](https://github.com/defendicon/POS-Awesome-V15/issues/268)) ([a118feb](https://github.com/defendicon/POS-Awesome-V15/commit/a118febce2128c3354f20624c837ab1589f578cf)) +* add discount columns toggle ([#402](https://github.com/defendicon/POS-Awesome-V15/issues/402)) ([ba1d3a0](https://github.com/defendicon/POS-Awesome-V15/commit/ba1d3a07d75a99443391bacfe972e80e81ae1159)) +* add force reload option for items ([#393](https://github.com/defendicon/POS-Awesome-V15/issues/393)) ([051776c](https://github.com/defendicon/POS-Awesome-V15/commit/051776ccdc0d74bcfb0949a4ce1a4a5b19398aa2)) +* add offline invoice delete setting ([#163](https://github.com/defendicon/POS-Awesome-V15/issues/163)) ([6fe8d4d](https://github.com/defendicon/POS-Awesome-V15/commit/6fe8d4d7fe26e5b97816ff3797474fa8e141a8a0)) +* add offline invoices table ([#161](https://github.com/defendicon/POS-Awesome-V15/issues/161)) ([375678e](https://github.com/defendicon/POS-Awesome-V15/commit/375678e7c752814505bfec7ec8dd85757be0d723)) +* add offline mode toggle ([#386](https://github.com/defendicon/POS-Awesome-V15/issues/386)) ([993b805](https://github.com/defendicon/POS-Awesome-V15/commit/993b805a522f2936e6581f5270896adc3f7504ea)) +* add option for write off in pos profile ([9bd5773](https://github.com/defendicon/POS-Awesome-V15/commit/9bd5773187dd0137f6c49799d026e6ea422cc76b)) +* add posa_is_printed field to sales invoice ([2fdc8c0](https://github.com/defendicon/POS-Awesome-V15/commit/2fdc8c00cfe2077977e561c6c94d7f2edfd0e6e3)) +* add price list selection and balance alignment ([#332](https://github.com/defendicon/POS-Awesome-V15/issues/332)) ([6c7f190](https://github.com/defendicon/POS-Awesome-V15/commit/6c7f19071b70dbb55233386807c39ee59be03fe5)) +* add pyproject and clean up ([#465](https://github.com/defendicon/POS-Awesome-V15/issues/465)) ([3dd4cac](https://github.com/defendicon/POS-Awesome-V15/commit/3dd4cacd6a780634d0ac22f4ad1d00974d5cd1b2)) +* Add the provision to select Sales Person ([7e2db4e](https://github.com/defendicon/POS-Awesome-V15/commit/7e2db4e592d399822454941a40e48114e841c87c)) +* add theme toggle ([#240](https://github.com/defendicon/POS-Awesome-V15/issues/240)) ([a272868](https://github.com/defendicon/POS-Awesome-V15/commit/a2728689771811746e10d50d81fed1ed04074033)) +* additional discount percentage ([da50821](https://github.com/defendicon/POS-Awesome-V15/commit/da508219154422487846af1009f355646bb76550)) +* after uninstall clear custom fields and properties ([d7acc8d](https://github.com/defendicon/POS-Awesome-V15/commit/d7acc8d9b59e091f4422de09870ca449e08ae302)) +* Allow Delete Draft Invoice ([e28558b](https://github.com/defendicon/POS-Awesome-V15/commit/e28558b04336c40bfa95d609d818c73d45eae56e)) +* allow offline customer creation ([#158](https://github.com/defendicon/POS-Awesome-V15/issues/158)) ([004728e](https://github.com/defendicon/POS-Awesome-V15/commit/004728e93703974db577151267926d62165a505a)) +* Allow Partial Payment && Allow Credit Sale ([8745951](https://github.com/defendicon/POS-Awesome-V15/commit/874595166f334a4828851d0ff72c2bf7222656ea)) +* Allow Print Draft Invoices ([8c469d8](https://github.com/defendicon/POS-Awesome-V15/commit/8c469d8353fb953dd941a19ff7205a40063eb926)) +* Allow Print Last Invoice ([260e9fa](https://github.com/defendicon/POS-Awesome-V15/commit/260e9fa3059a143201efeaa2eba45be30c4c6fd5)) +* Allow Return ([c067e76](https://github.com/defendicon/POS-Awesome-V15/commit/c067e769bf0e1707e70b194417d2b40c4e588a0b)) +* allow submit return invoice without payment ([ebdca82](https://github.com/defendicon/POS-Awesome-V15/commit/ebdca8280bab03fef0f41e0903867a29ec416a72)) +* Allow user to edit Additional Discount ([cc7a749](https://github.com/defendicon/POS-Awesome-V15/commit/cc7a749b49b137ac04947ca88d41afb191a55bf0)) +* Allow user to edit Item Discount ([9b32a32](https://github.com/defendicon/POS-Awesome-V15/commit/9b32a322206c0904609924e3a5a58e13ef48d447)) +* Allow user to edit Rate ([c03afb8](https://github.com/defendicon/POS-Awesome-V15/commit/c03afb8f52187134873c79a3a44d873eb9c00526)) +* Allow write off when making partial payment ([9f37adc](https://github.com/defendicon/POS-Awesome-V15/commit/9f37adc9b69a6c0fbb5a682faab71d3fc86e1cbe)) +* Aplly Offer on Loyalty Point ([3492278](https://github.com/defendicon/POS-Awesome-V15/commit/34922782f17468265bd0ce4dc9a971afd8e38a49)) +* apply customer or customer group price list ([9ae7c21](https://github.com/defendicon/POS-Awesome-V15/commit/9ae7c2168951cdb65b8ddb6bfef4a505f37d5631)) +* apply dark mode style to inputs ([#291](https://github.com/defendicon/POS-Awesome-V15/issues/291)) ([6a0c9b8](https://github.com/defendicon/POS-Awesome-V15/commit/6a0c9b869c81ac040ef95067e97e1b9fcaabc6b3)) +* apply max discount allowed on item discount ([482bd87](https://github.com/defendicon/POS-Awesome-V15/commit/482bd873d6dea4b6b7f1b5eb0e7e6385c8c08c48)) +* Apply Offer Discount on Grand Total ([6fab7a2](https://github.com/defendicon/POS-Awesome-V15/commit/6fab7a22eef9d391440290285dfe6b74db825ec6)) +* Apply Price Offer ([ecf2321](https://github.com/defendicon/POS-Awesome-V15/commit/ecf2321c0343516ca1d90637a3b96f8466e8d14f)) +* apply system default precisions ([f3462da](https://github.com/defendicon/POS-Awesome-V15/commit/f3462da84a05c0323bb9551e6de872f29c73f691)) +* apply the new theme on app drawer ([a68cb6a](https://github.com/defendicon/POS-Awesome-V15/commit/a68cb6a57df7ab80822c7abfc75dda9c7d7a80c4)) +* apply the new theme on cancel invoice button ([f0bcf0a](https://github.com/defendicon/POS-Awesome-V15/commit/f0bcf0a871fb2a9f81a9c27949a97ae4359dd9ec)) +* auto allocate of customer credits to invoices [#352](https://github.com/defendicon/POS-Awesome-V15/issues/352) ([a1606fd](https://github.com/defendicon/POS-Awesome-V15/commit/a1606fde4f12e88d3718380eeaa4e6c539b7337a)) +* auto apply batchs for bundels ([4df99c7](https://github.com/defendicon/POS-Awesome-V15/commit/4df99c737e7fab777ede3fa375daa9c4b87e873d)) +* auto set active gift coupons ([1e40526](https://github.com/defendicon/POS-Awesome-V15/commit/1e40526c573928b5b7db9c7d014bf3198bfd781b)) +* auto set batch ([36c7385](https://github.com/defendicon/POS-Awesome-V15/commit/36c73854e34fca926536bae024e1201f93dfb950)) +* auto set company and mode_of_payment in Mpesa Payment Register ([d7ef568](https://github.com/defendicon/POS-Awesome-V15/commit/d7ef5682ee3350d5924c20581caf1e4552a9bc6a)) +* auto set patient name for Healthcare domain ([4ba9527](https://github.com/defendicon/POS-Awesome-V15/commit/4ba95273ff3f1f2630db1f3a37ab6af65de1acea)) +* backend items search option as 'Use Limit Search' [#316](https://github.com/defendicon/POS-Awesome-V15/issues/316) [#313](https://github.com/defendicon/POS-Awesome-V15/issues/313) ([e575a01](https://github.com/defendicon/POS-Awesome-V15/commit/e575a011f6863fde966956e15f45c7405f8985ed)) +* base version 15 support ([4546282](https://github.com/defendicon/POS-Awesome-V15/commit/4546282a09425037e0b1fe93c9bcfc251b5ef2a1)) +* Batch based pricing ([2ae950c](https://github.com/defendicon/POS-Awesome-V15/commit/2ae950cc39770eee404d56d41d8d78536328bf0c)) +* better error handling on customer creation ([1631fb9](https://github.com/defendicon/POS-Awesome-V15/commit/1631fb96d82ca18d102ae8f83a2161df9bc93497)) +* better search on customer ([6d80fbc](https://github.com/defendicon/POS-Awesome-V15/commit/6d80fbc04526ece09dc1d790d4b68e9c8989be1e)) +* cache item groups for offline mode ([#1465](https://github.com/defendicon/POS-Awesome-V15/issues/1465)) ([#1466](https://github.com/defendicon/POS-Awesome-V15/issues/1466)) ([2fe07cb](https://github.com/defendicon/POS-Awesome-V15/commit/2fe07cba38219cf2e48abfca58f2950113430c22)) +* cache items by price list ([#383](https://github.com/defendicon/POS-Awesome-V15/issues/383)) ([3287697](https://github.com/defendicon/POS-Awesome-V15/commit/3287697c3ea9935362ad262c76d8336a873b132c)) +* cache UOMs and offers offline ([#121](https://github.com/defendicon/POS-Awesome-V15/issues/121)) ([747c191](https://github.com/defendicon/POS-Awesome-V15/commit/747c19164ffdb900d7bd4c4d68a4bc8a8d5c2900)) +* cancel button to allow user to exit from opening dialog [#275](https://github.com/defendicon/POS-Awesome-V15/issues/275) ([ef6cebe](https://github.com/defendicon/POS-Awesome-V15/commit/ef6cebe96e5b87c56786360db2da58ee7e3e7fa4)) +* checkbox for submit Mpesa payment ([f2ce2b0](https://github.com/defendicon/POS-Awesome-V15/commit/f2ce2b00e344f54c7b43f989aad41875a16c8feb)) +* checkbox to enable or disable free items [#175](https://github.com/defendicon/POS-Awesome-V15/issues/175) ([6cf9cd4](https://github.com/defendicon/POS-Awesome-V15/commit/6cf9cd40c3e1c7a84a70e570ab8c442dced1999b)) +* confirmation & validation APIs & get_token ([825dc02](https://github.com/defendicon/POS-Awesome-V15/commit/825dc02e98e45a0952ff4e50064a8537fa514e06)) +* confirmation pop-up window to the cancel button ([4bac115](https://github.com/defendicon/POS-Awesome-V15/commit/4bac115d464c901f9ae7823f59ceaaa808cde019)) +* console from python ([a86ca7d](https://github.com/defendicon/POS-Awesome-V15/commit/a86ca7d36bef0ffcca7731b140f1845b50597c36)) +* convert price list currency to selected ([#731](https://github.com/defendicon/POS-Awesome-V15/issues/731)) ([ce5c49c](https://github.com/defendicon/POS-Awesome-V15/commit/ce5c49caae170ebfc2fe36b8bd471d02aa8b6f96)) +* Coupon Only One Use Per Customer option ([d021f62](https://github.com/defendicon/POS-Awesome-V15/commit/d021f62e101910f7308ed3330598464c7dd1e275)) +* create payment entry on submit of Mpesa Payment Register ([e353c5e](https://github.com/defendicon/POS-Awesome-V15/commit/e353c5ef927eb8ef32dd84765f534444267fc6f9)) +* create sales order ([50c70ec](https://github.com/defendicon/POS-Awesome-V15/commit/50c70ec9f4f14fe8b4eb0cb643fb48f84c3998fb)) +* currency format ([e4b1c12](https://github.com/defendicon/POS-Awesome-V15/commit/e4b1c1208e90ff262be89dae11b576a8b78d2e6a)) +* Customer Group & Territory in New Customer ([b5c7236](https://github.com/defendicon/POS-Awesome-V15/commit/b5c72365060d88891d0f698778ab5c896c681373)) +* dark mode background for item selector ([#302](https://github.com/defendicon/POS-Awesome-V15/issues/302)) ([8fbbe24](https://github.com/defendicon/POS-Awesome-V15/commit/8fbbe248431ef4335d35e4a48b944c4000741676)) +* dark mode style for posting date picker ([#319](https://github.com/defendicon/POS-Awesome-V15/issues/319)) ([48a3fa6](https://github.com/defendicon/POS-Awesome-V15/commit/48a3fa68632a67ce7d78f0a1948c1758ee2c6b17)) +* debounce qty input in item selector ([#351](https://github.com/defendicon/POS-Awesome-V15/issues/351)) ([5160682](https://github.com/defendicon/POS-Awesome-V15/commit/5160682c1f499db73119a3ef90543559f1ffd772)) +* defer item loading with skeleton placeholder ([#371](https://github.com/defendicon/POS-Awesome-V15/issues/371)) ([d5d7560](https://github.com/defendicon/POS-Awesome-V15/commit/d5d7560629326b5c3cb3dd282b730dd0341eae77)) +* Delivery Charges ([6af4705](https://github.com/defendicon/POS-Awesome-V15/commit/6af4705e54f054cd97ee8591316b9094dff3696c)) +* disable submit button when click onced so as to prevent opening 2 shifts [#309](https://github.com/defendicon/POS-Awesome-V15/issues/309) ([bc12c77](https://github.com/defendicon/POS-Awesome-V15/commit/bc12c773079ad147155aa2dbbc59ae1e08553f2c)) +* Disallow submit payments until payment is received for Mpesa Express [#272](https://github.com/defendicon/POS-Awesome-V15/issues/272) ([24d5790](https://github.com/defendicon/POS-Awesome-V15/commit/24d5790a97b462fc1402cc4a190b19da21ba1705)) +* Display Additional Notes ([63cecda](https://github.com/defendicon/POS-Awesome-V15/commit/63cecda09d62ecd32e7d7376ec6dd0bb464049be)) +* display item qty in items card ([c050704](https://github.com/defendicon/POS-Awesome-V15/commit/c05070462d43a4985ff7ec50bdf5d5d42db1dc47)) +* Display Items In Stock ([30084d7](https://github.com/defendicon/POS-Awesome-V15/commit/30084d7ad548218a717044d53e0b9d71540657f8)) +* Enhance Invoice component to include additional discount, delivery charges, and tax calculations in total and grand total computations. Improved tax handling by copying existing tax data when creating new invoices, ensuring accurate financial representation. ([a1e1f09](https://github.com/defendicon/POS-Awesome-V15/commit/a1e1f0911cfdfc1ef01f96a18627ab3650f638e0)) +* Enhance Socket.IO connection handling in Navbar component by dynamically determining server URL based on current window location. Added user notifications for connection errors and disconnections to improve user experience and error visibility. ([9869726](https://github.com/defendicon/POS-Awesome-V15/commit/986972642f8eaf706c9ef6ef23d5e84abb8f8530)) +* experimental Allow Submissions in background job ([342d1b9](https://github.com/defendicon/POS-Awesome-V15/commit/342d1b9adf4f250105317684bc622784bb0e06f0)) +* Force to new items on new line ([ed52f3f](https://github.com/defendicon/POS-Awesome-V15/commit/ed52f3f3d3b77bfae27476f3254dea1399af4a14)) +* gender in customer create ([8300adc](https://github.com/defendicon/POS-Awesome-V15/commit/8300adc80cab12921cfa42a8271e30737572fa8d)) +* get hold invoices ([b0a08e0](https://github.com/defendicon/POS-Awesome-V15/commit/b0a08e01fd603b19dbfabf9332802f2dfa135b69)) +* get_offers API ([0b068ed](https://github.com/defendicon/POS-Awesome-V15/commit/0b068edad8d40cd635a7cee8bbb43821819528ec)) +* group replace offer ([d599d90](https://github.com/defendicon/POS-Awesome-V15/commit/d599d9022fb352bd342673c352723714798ee229)) +* Hide close shift option ([1ba7b85](https://github.com/defendicon/POS-Awesome-V15/commit/1ba7b85cc7bff077c16c3bebf2af7c995f360423)) +* hide variant items ([6b08e1d](https://github.com/defendicon/POS-Awesome-V15/commit/6b08e1de8e312d1a924be7e4b5c342ae2d537f1d)) +* ignore permissions on create pos opening shift ([985a193](https://github.com/defendicon/POS-Awesome-V15/commit/985a1932128d3a671f0526b02c3837125bdda2e2)) +* Implement conditional "Return Without Invoice" functionality ([e36a661](https://github.com/defendicon/POS-Awesome-V15/commit/e36a66132a42886ef87349601c1b8236e8aa6af0)) +* improve offline detection ([#455](https://github.com/defendicon/POS-Awesome-V15/issues/455)) ([1cced98](https://github.com/defendicon/POS-Awesome-V15/commit/1cced98d1465ebcc6bc8ae514b3fddf94198039a)) +* improve posting date picker ([#191](https://github.com/defendicon/POS-Awesome-V15/issues/191)) ([e38c6dc](https://github.com/defendicon/POS-Awesome-V15/commit/e38c6dc238fff7356dcbea50f1024994ecdea919)) +* init m-pesa c2b ([122ee18](https://github.com/defendicon/POS-Awesome-V15/commit/122ee18fe6f6c5cc30effcb10d8af087701ef99f)) +* init return ([03c3694](https://github.com/defendicon/POS-Awesome-V15/commit/03c36943189c55feb84fb3d79863b7d5be284e37)) +* Initialize App ([27e0041](https://github.com/defendicon/POS-Awesome-V15/commit/27e0041ac9ba497307ec75cdd19f72cfb2880203)) +* invoice type ([2483a1b](https://github.com/defendicon/POS-Awesome-V15/commit/2483a1b2336e619657b1ebf856aceb2761d8915d)) +* item QTY input ([c784ca4](https://github.com/defendicon/POS-Awesome-V15/commit/c784ca45eace2b3ead9ae2fb112a4a44ab8d48e2)) +* less then rate condition in give from item product ([d7307ea](https://github.com/defendicon/POS-Awesome-V15/commit/d7307ea59e8ab67f480c716934350c7f3448d0f7)) +* load cached customers when offline ([#147](https://github.com/defendicon/POS-Awesome-V15/issues/147)) ([cf7bf4d](https://github.com/defendicon/POS-Awesome-V15/commit/cf7bf4de1cd3d815770238df3122c098bbe0f800)) +* Logout ([232f192](https://github.com/defendicon/POS-Awesome-V15/commit/232f19290050a18121960ddc735091a8019a8470)) +* more fixes ([fad2f1b](https://github.com/defendicon/POS-Awesome-V15/commit/fad2f1ba5eaa183a35f92119e599b70538fabb15)) +* MPESA allow user to update Mobile Number ([8a3ab51](https://github.com/defendicon/POS-Awesome-V15/commit/8a3ab51813ecad691a50f74e6fe4c1c621bde38a)) +* Mpesa C2B Register URL DocType ([fff0544](https://github.com/defendicon/POS-Awesome-V15/commit/fff054461ba8cff6700ef8a3b10ffd9102783325)) +* Mpesa mobile payment ([094141c](https://github.com/defendicon/POS-Awesome-V15/commit/094141ce8c3526e843517cbf5bb45a4c8206bf0c)) +* Mpesa Payment Register DocType ([4871b00](https://github.com/defendicon/POS-Awesome-V15/commit/4871b00e1ee8d83178965123ac262766466b9ddd)) +* **navbar:** display browser memory usage ([#747](https://github.com/defendicon/POS-Awesome-V15/issues/747)) ([1ed734e](https://github.com/defendicon/POS-Awesome-V15/commit/1ed734e65b7ced08a65d9ec346cd9e512f7f359e)) +* New Theme ([9f59c8e](https://github.com/defendicon/POS-Awesome-V15/commit/9f59c8e8312c78cb441c29eeb58b836096447281)) +* Offer Give Product ([1e2f676](https://github.com/defendicon/POS-Awesome-V15/commit/1e2f676d8a14cb5fca9f986c01a7756df2734274)) +* **offline:** add stock cache initialization tracking and optimize item updates ([#407](https://github.com/defendicon/POS-Awesome-V15/issues/407)) ([f89bf4f](https://github.com/defendicon/POS-Awesome-V15/commit/f89bf4f83ab55e4015cdbab5919d7851ab615a10)) +* **offline:** enhance offline mode with stock management and UI improvements ([#128](https://github.com/defendicon/POS-Awesome-V15/issues/128)) ([615ad77](https://github.com/defendicon/POS-Awesome-V15/commit/615ad7716a48fc67d3f93d314c21acdc8e2dca50)) +* open item if has serial ([c9dd5a7](https://github.com/defendicon/POS-Awesome-V15/commit/c9dd5a7f7981aea7c7906c4165cf3eeb90f5dc31)) +* option to Allow Duplicate Customer Names [#318](https://github.com/defendicon/POS-Awesome-V15/issues/318) [#311](https://github.com/defendicon/POS-Awesome-V15/issues/311) ([6a6121d](https://github.com/defendicon/POS-Awesome-V15/commit/6a6121db42cabcf7dac413ce967d890b0ac6aee3)) +* option to Display Item Code in serarch items ([67c3892](https://github.com/defendicon/POS-Awesome-V15/commit/67c3892073a9cf06ce93948af2297f304467de71)) +* Option to hide Expected Amount in closing shfit dialog ([1c1be0f](https://github.com/defendicon/POS-Awesome-V15/commit/1c1be0fae37becb5998798506d227a178b99a7c4)) +* Option to submit an invoice without opening a new window for print [#290](https://github.com/defendicon/POS-Awesome-V15/issues/290) ([bae3f60](https://github.com/defendicon/POS-Awesome-V15/commit/bae3f60706e9434611151e906b80d152438b6478)) +* Options for Default Card View & Default Sales Order ([a79bc02](https://github.com/defendicon/POS-Awesome-V15/commit/a79bc0211bb99e86cd7001c13a6452184fc59163)) +* paly submit sound on success payments ([b395d14](https://github.com/defendicon/POS-Awesome-V15/commit/b395d14df7c7dd8c90b357f7daefb72632e4604b)) +* payment due date ([71e542b](https://github.com/defendicon/POS-Awesome-V15/commit/71e542b12a8d57a9c23157ad2f637228370c445d)) +* payments auto search & invoice filter by pos profile ([2f86b54](https://github.com/defendicon/POS-Awesome-V15/commit/2f86b54c7d7ec1308e6a26b5de0fd0eedd4f897e)) +* Payments options in pos profile ([48baafe](https://github.com/defendicon/POS-Awesome-V15/commit/48baafe00b97a84c5c622747ce3dc5fb90f8d97c)) +* Permission of Customer Creation [#233](https://github.com/defendicon/POS-Awesome-V15/issues/233) [#860](https://github.com/defendicon/POS-Awesome-V15/issues/860)pcfdh5 ([0b04023](https://github.com/defendicon/POS-Awesome-V15/commit/0b04023ed4bea016e9680b34a653468b47d7e757)), closes [#860pcfdh5](https://github.com/defendicon/POS-Awesome-V15/issues/860pcfdh5) +* POS Awesome Advance Settings ([a44281d](https://github.com/defendicon/POS-Awesome-V15/commit/a44281dee9293ca3cda3d6a413bf54696ef68774)) +* POS Awesome integration with Mpesa C2B ([2d39309](https://github.com/defendicon/POS-Awesome-V15/commit/2d39309a645ae15f81189859966725a9c0a5ff14)) +* POS Coupons ([38862dc](https://github.com/defendicon/POS-Awesome-V15/commit/38862dc87c5ea8cb041d878687815c483f816244)) +* POS Offer front-end logic ([1b6821c](https://github.com/defendicon/POS-Awesome-V15/commit/1b6821c6e8b12f5928eebf36020176311112dbd9)) +* POS Opening Shift & Opening dialog ([651b29c](https://github.com/defendicon/POS-Awesome-V15/commit/651b29cd8654965c38d50107bceca022729ecb86)) +* POS Payments ([247cc57](https://github.com/defendicon/POS-Awesome-V15/commit/247cc570e1c6d2269a2e608a6360025452cf139c)) +* **pos:** add clearOpeningStorage function and cleanup on shift close ([#156](https://github.com/defendicon/POS-Awesome-V15/issues/156)) ([1b8786f](https://github.com/defendicon/POS-Awesome-V15/commit/1b8786f428be0bda1a766d5f8e2b9b842d3df14f)) +* **pos:** add drag and drop support for items between selector and t… ([#717](https://github.com/defendicon/POS-Awesome-V15/issues/717)) ([9f0714d](https://github.com/defendicon/POS-Awesome-V15/commit/9f0714d7b87ea340580b7a50d183a536234bcee2)) +* **pos:** show open shift dialog after closing ([#167](https://github.com/defendicon/POS-Awesome-V15/issues/167)) ([68831ac](https://github.com/defendicon/POS-Awesome-V15/commit/68831ac8b4bb965a53097c67ce41b953e3abf165)) +* prevent saving invoice when cart empty ([#181](https://github.com/defendicon/POS-Awesome-V15/issues/181)) ([cf1ae4a](https://github.com/defendicon/POS-Awesome-V15/commit/cf1ae4a2478d4f0e80c6c7c958dd4b222298e3ec)) +* print invoice ([4b913c3](https://github.com/defendicon/POS-Awesome-V15/commit/4b913c31c04530e80e4dc24ff58b3735cbd2a2cc)) +* refactor create & update customer [#276](https://github.com/defendicon/POS-Awesome-V15/issues/276) ([6b13a87](https://github.com/defendicon/POS-Awesome-V15/commit/6b13a872005d7d68f14b9391d4b86bbac541d8e3)) +* Referral Code ([ad6a64a](https://github.com/defendicon/POS-Awesome-V15/commit/ad6a64ab3b71c783db2041b3cdd3db406e7c8b8e)) +* respect disable rounding in pos profile ([#493](https://github.com/defendicon/POS-Awesome-V15/issues/493)) ([54907d6](https://github.com/defendicon/POS-Awesome-V15/commit/54907d62130297cd723c34333433b10a38cd35f5)) +* **responsive:** add dynamic card height calculation based on screen size ([#138](https://github.com/defendicon/POS-Awesome-V15/issues/138)) ([4dbc44e](https://github.com/defendicon/POS-Awesome-V15/commit/4dbc44eadd10ff3e64c4d1fb0cf0f8d4cece2a58)) +* **responsive:** add dynamic responsive layout system for POS ([#131](https://github.com/defendicon/POS-Awesome-V15/issues/131)) ([a5bdcf3](https://github.com/defendicon/POS-Awesome-V15/commit/a5bdcf36c726545571f985592b0f783b60cbd2a8)) +* Restrict Max discount allowed on POS ([31ab18d](https://github.com/defendicon/POS-Awesome-V15/commit/31ab18d00d42cf0d06c7db00d41d3861206b7ddc)) +* reuse item requests with caching ([#1660](https://github.com/defendicon/POS-Awesome-V15/issues/1660)) ([985c871](https://github.com/defendicon/POS-Awesome-V15/commit/985c871946c1593f3a904fd90e540f6bb6b5e962)) +* Scale Barcode Start With ([0ba409e](https://github.com/defendicon/POS-Awesome-V15/commit/0ba409ee351e05c0904b96a789b3d8a818245f42)) +* scale qty ([c3b89c7](https://github.com/defendicon/POS-Awesome-V15/commit/c3b89c74466e2d06a89f841971c458bcbd2fd04b)) +* scan barcoud ([4455521](https://github.com/defendicon/POS-Awesome-V15/commit/4455521435a79d0a0abcbb54513b0453b5fce6e5)) +* Search and add items by Serial Number ([0257708](https://github.com/defendicon/POS-Awesome-V15/commit/02577086b596d73a91abd46a6c672f024e39e7f5)) +* search by batch number [#110](https://github.com/defendicon/POS-Awesome-V15/issues/110) ([cba6d0a](https://github.com/defendicon/POS-Awesome-V15/commit/cba6d0a7c3e0c0672dd55971cd59cf47ad12cfca)) +* search items in any direction ([e4ddb32](https://github.com/defendicon/POS-Awesome-V15/commit/e4ddb3255a94e03329a45c1eb091387201c9ad5a)) +* serial no ([598a3c1](https://github.com/defendicon/POS-Awesome-V15/commit/598a3c1317548845a3e9f3a65355428a1011bcad)) +* server signal to check online/offline connection ([#51](https://github.com/defendicon/POS-Awesome-V15/issues/51)) ([2f517c4](https://github.com/defendicon/POS-Awesome-V15/commit/2f517c4ce1a09c621107bda013154474f5a20bbd)) +* set payments in pos closing ([63c8982](https://github.com/defendicon/POS-Awesome-V15/commit/63c8982be4781688e4716ceebdb36a23c47a7aba)) +* shortcuts keys ([3f72cd9](https://github.com/defendicon/POS-Awesome-V15/commit/3f72cd94d3b80c66ad98c2406379cbd1fd7fa798)) +* show customer's address in customer search field ([5775b70](https://github.com/defendicon/POS-Awesome-V15/commit/5775b7066aa2b49dc9af5d4d921a425b8d8b6795)) +* show Customer's Purchase Order ([dcc2aa0](https://github.com/defendicon/POS-Awesome-V15/commit/dcc2aa0b5a70ace8624e84554d75f78ae6361cde)) +* show error if bracode not exist ([257bd17](https://github.com/defendicon/POS-Awesome-V15/commit/257bd175c8c2d83ff6176999271837abd4a6cfa5)) +* show item rates with conditional decimals ([#265](https://github.com/defendicon/POS-Awesome-V15/issues/265)) ([44caa6a](https://github.com/defendicon/POS-Awesome-V15/commit/44caa6a9f25e04a3b8224399178e29b31c641e1f)) +* show pos profile name ([3b8ceca](https://github.com/defendicon/POS-Awesome-V15/commit/3b8ceca527bf509afa88c5511aedc1022958f60d)) +* Support Customer Discount ([01546bf](https://github.com/defendicon/POS-Awesome-V15/commit/01546bf2751efe0bf7fd69474fae5a5f8f7c5654)) +* support dark mode backgrounds ([#294](https://github.com/defendicon/POS-Awesome-V15/issues/294)) ([94a3bf8](https://github.com/defendicon/POS-Awesome-V15/commit/94a3bf868a91a1cfe1a26672fe8013e20cd44caf)) +* Support Erpnext Version 14 ([8fed45a](https://github.com/defendicon/POS-Awesome-V15/commit/8fed45a097deecb3dcb4bd087e15de73eeee47c9)) +* Support Item Max Discount ([8c0161f](https://github.com/defendicon/POS-Awesome-V15/commit/8c0161fd35102b96b03f0b7a8157a5431eddcfd4)) +* support offline payments ([#457](https://github.com/defendicon/POS-Awesome-V15/issues/457)) ([5d6eadd](https://github.com/defendicon/POS-Awesome-V15/commit/5d6eadd36afa5396d4518c228d51287c9574cc33)) +* tax inclusive option in pos profile ([37b8d11](https://github.com/defendicon/POS-Awesome-V15/commit/37b8d111c581f367a90a2634c50e7b658a9eaba1)) +* **theme:** implement dark mode support using @vueuse/core ([#404](https://github.com/defendicon/POS-Awesome-V15/issues/404)) ([683c2f1](https://github.com/defendicon/POS-Awesome-V15/commit/683c2f134310c299a7e8533c6df6073e3ca265d4)) +* UI improvement ([83dd112](https://github.com/defendicon/POS-Awesome-V15/commit/83dd112b38af10436f3bcc3738b593b6a702b5e4)) +* **ui:** adapt tables for dark mode ([#252](https://github.com/defendicon/POS-Awesome-V15/issues/252)) ([aff8e8e](https://github.com/defendicon/POS-Awesome-V15/commit/aff8e8ee173a3323b696be5e645278839a0bc772)) +* **ui:** add dark theme styles for navbar ([#322](https://github.com/defendicon/POS-Awesome-V15/issues/322)) ([2a5686f](https://github.com/defendicon/POS-Awesome-V15/commit/2a5686f435c802a4d7e7d548c7b0e62e0dcd93d7)) +* **ui:** align payments with invoices ([#132](https://github.com/defendicon/POS-Awesome-V15/issues/132)) ([f85ed5c](https://github.com/defendicon/POS-Awesome-V15/commit/f85ed5cae33f06c1b5a3871be1c6c681e2e26054)) +* **ui:** dark mode for customer forms ([#328](https://github.com/defendicon/POS-Awesome-V15/issues/328)) ([165dac0](https://github.com/defendicon/POS-Awesome-V15/commit/165dac095ab9a7201656bc3a91de860867ee98f0)) +* **ui:** enhance POS dialog components with improved styling and fun… ([#171](https://github.com/defendicon/POS-Awesome-V15/issues/171)) ([c25fe26](https://github.com/defendicon/POS-Awesome-V15/commit/c25fe26f9f866ef124546e835fe4c08ce95d60d7)) +* **ui:** redesign navigation drawer and menu spacing ([#42](https://github.com/defendicon/POS-Awesome-V15/issues/42)) ([b0af289](https://github.com/defendicon/POS-Awesome-V15/commit/b0af2897e00294a243f8b2cdad1608abaf955f98)) +* **ui:** restore Offers tab button ([#682](https://github.com/defendicon/POS-Awesome-V15/issues/682)) ([#683](https://github.com/defendicon/POS-Awesome-V15/issues/683)) ([b7cd96f](https://github.com/defendicon/POS-Awesome-V15/commit/b7cd96f7edabcaf1f1c3eb03ba36001e4263903b)) +* **ui:** show placeholder for posting date ([#338](https://github.com/defendicon/POS-Awesome-V15/issues/338)) ([0797160](https://github.com/defendicon/POS-Awesome-V15/commit/0797160be18b532b5bdf973baaf71d4578aaf90f)) +* **ui:** use virtual tables ([#368](https://github.com/defendicon/POS-Awesome-V15/issues/368)) ([98e12d6](https://github.com/defendicon/POS-Awesome-V15/commit/98e12d66f49189dbcf60257b009da4d2770bab30)) +* uom barcode ([3055c15](https://github.com/defendicon/POS-Awesome-V15/commit/3055c150b761e7c36ab8bebbbfc5f8bf8a5bb032)) +* Uom Conversion from Barcode Scanner Fixed and Streamlined event handling in Invoice and ItemsSelector components by simplifying event listener functions. Added new event emissions for UOM calculations to enhance item management and ensure accurate rate updates. ([af5c730](https://github.com/defendicon/POS-Awesome-V15/commit/af5c7300d8522f0e894c3507a9d080be648f2b77)) +* update customer info ([3430562](https://github.com/defendicon/POS-Awesome-V15/commit/343056272f38d0f23eeffb31acd78fdf8b26bca3)) +* update POS invoice buttons ([71d3516](https://github.com/defendicon/POS-Awesome-V15/commit/71d35166532ff95715e270567ea2919a80b6d81c)) +* update return ([bfcf160](https://github.com/defendicon/POS-Awesome-V15/commit/bfcf160c7851d9bd17243f41fc84876dfd0cb162)) +* update return ([2e741a8](https://github.com/defendicon/POS-Awesome-V15/commit/2e741a82e0dc1d9d36e67979f3cd8adb9983acfa)) +* update return ([abe3d6f](https://github.com/defendicon/POS-Awesome-V15/commit/abe3d6f5ec582da0ff642d44f2b76cc9f61e2203)) +* update Workspace for version 14 ([7357737](https://github.com/defendicon/POS-Awesome-V15/commit/735773760a547572d38780b468ff7c449fd11efd)) +* Updated ClosingDialog component to enhance user experience by replacing the v-confirm-edit with a more streamlined v-text-field for editing closing amounts. ([4ad3a06](https://github.com/defendicon/POS-Awesome-V15/commit/4ad3a06847d2572dd2c981052908d164b853283f)) +* Use Browser Local Storage in pos profile ([d625fc3](https://github.com/defendicon/POS-Awesome-V15/commit/d625fc3879d40d7d465ea5fa14ce2dfe1d7a3ac5)) +* use dd-MM-yyyy format in date pickers ([#199](https://github.com/defendicon/POS-Awesome-V15/issues/199)) ([9def59c](https://github.com/defendicon/POS-Awesome-V15/commit/9def59cb8b86467e3573b48b0e68b0a8004e9702)) +* use expired entrys in loyalty points ([f39ee74](https://github.com/defendicon/POS-Awesome-V15/commit/f39ee749da0efb235f40921e95463cf0d38cc1ed)) +* use qty on item click ([3c2f14f](https://github.com/defendicon/POS-Awesome-V15/commit/3c2f14fe87c2559de9ae761582a3f8f6331fd85d)) +* Use Redis cache ([3235e9a](https://github.com/defendicon/POS-Awesome-V15/commit/3235e9a40799844272aa74a8b3ea74f5d070f316)) +* Use Server for Barcode Searching ([fd59019](https://github.com/defendicon/POS-Awesome-V15/commit/fd59019c34950eeea2c92b5f639cb94ce5b144b5)) +* use session defaults for Customer Group & Territory in Customer creation [#171](https://github.com/defendicon/POS-Awesome-V15/issues/171) [#265](https://github.com/defendicon/POS-Awesome-V15/issues/265) ([1105a25](https://github.com/defendicon/POS-Awesome-V15/commit/1105a2593d649a1f880450d7486d2284a3251c24)) +* validate items ([21c9b0d](https://github.com/defendicon/POS-Awesome-V15/commit/21c9b0da78d94b1b7d41d54dc3df5d1952c20c1f)) +* validate referral code ([c5581eb](https://github.com/defendicon/POS-Awesome-V15/commit/c5581ebefbe22752ab3bfbb1aac0394543cc49bd)) +* Variants divider ([82fc04e](https://github.com/defendicon/POS-Awesome-V15/commit/82fc04e77eb6d52a27acaf9d1cc72d73b495b271)) +* warn when exchange rate date differs ([#739](https://github.com/defendicon/POS-Awesome-V15/issues/739)) ([e361016](https://github.com/defendicon/POS-Awesome-V15/commit/e36101693f42c8e79cddb375b3466cacd26b8094)) + + +### Reverts + +* remove limit and offset from get_items ([#426](https://github.com/defendicon/POS-Awesome-V15/issues/426)) ([c6f13f7](https://github.com/defendicon/POS-Awesome-V15/commit/c6f13f770260baa864e6af7fdf16c56b542352bc)) +* Revert "Add auto search when limit search enabled ([#378](https://github.com/defendicon/POS-Awesome-V15/issues/378))" ([#379](https://github.com/defendicon/POS-Awesome-V15/issues/379)) ([f4fce07](https://github.com/defendicon/POS-Awesome-V15/commit/f4fce078dd2b2a83e6da25c8cfb273ede95c1118)) +* Revert "Add customer search limit feature ([#356](https://github.com/defendicon/POS-Awesome-V15/issues/356))" ([#360](https://github.com/defendicon/POS-Awesome-V15/issues/360)) ([db854cb](https://github.com/defendicon/POS-Awesome-V15/commit/db854cb2d80a9770c1f43a1ae2aea9cf0b3f5da5)) +* Revert "Add dark mode toggle ([#242](https://github.com/defendicon/POS-Awesome-V15/issues/242))" ([#246](https://github.com/defendicon/POS-Awesome-V15/issues/246)) ([6fc583c](https://github.com/defendicon/POS-Awesome-V15/commit/6fc583cb915a036c5362d7ee92db97bb83827af5)) +* Revert "Add dark mode toggle ([#247](https://github.com/defendicon/POS-Awesome-V15/issues/247))" ([#248](https://github.com/defendicon/POS-Awesome-V15/issues/248)) ([38c5496](https://github.com/defendicon/POS-Awesome-V15/commit/38c5496aca5a533e32e6b1d2ea3f04934b51d633)) +* Revert "Add dark mode toggle via VueUse ([#251](https://github.com/defendicon/POS-Awesome-V15/issues/251))" ([#254](https://github.com/defendicon/POS-Awesome-V15/issues/254)) ([641e08e](https://github.com/defendicon/POS-Awesome-V15/commit/641e08e3f645daca2d87bcddb96f5cf092ed7de7)) +* Revert "Add generic language mapping ([#602](https://github.com/defendicon/POS-Awesome-V15/issues/602))" ([#604](https://github.com/defendicon/POS-Awesome-V15/issues/604)) ([618b7ac](https://github.com/defendicon/POS-Awesome-V15/commit/618b7acd176d260352579771c90af7dca5e885d8)) +* Revert "Add pagination to item selector ([#381](https://github.com/defendicon/POS-Awesome-V15/issues/381))" ([#382](https://github.com/defendicon/POS-Awesome-V15/issues/382)) ([dc5498f](https://github.com/defendicon/POS-Awesome-V15/commit/dc5498fa7a5a3d71c77eebec20e5daf1c3076e66)) +* Revert "Add vue-apply-darkmode integration ([#249](https://github.com/defendicon/POS-Awesome-V15/issues/249))" ([#250](https://github.com/defendicon/POS-Awesome-V15/issues/250)) ([82e5405](https://github.com/defendicon/POS-Awesome-V15/commit/82e5405156c8a17cc556f349866c6705e3f56550)) +* Revert "Api refactor ([#469](https://github.com/defendicon/POS-Awesome-V15/issues/469))" ([#476](https://github.com/defendicon/POS-Awesome-V15/issues/476)) ([c6c5eec](https://github.com/defendicon/POS-Awesome-V15/commit/c6c5eec06e12e56af48385589ac2f59b90b68832)) +* Revert "cache item details ([#414](https://github.com/defendicon/POS-Awesome-V15/issues/414))" ([#415](https://github.com/defendicon/POS-Awesome-V15/issues/415)) ([93a5587](https://github.com/defendicon/POS-Awesome-V15/commit/93a5587dd45fb6bd1b1830e36701f6e0626cec03)) +* Revert "Cam pr ([#68](https://github.com/defendicon/POS-Awesome-V15/issues/68))" ([#69](https://github.com/defendicon/POS-Awesome-V15/issues/69)) ([69c57c1](https://github.com/defendicon/POS-Awesome-V15/commit/69c57c18af5286fd878dd8c92949ee398080cbbc)) +* Revert "Cam pr ([#70](https://github.com/defendicon/POS-Awesome-V15/issues/70))" ([#71](https://github.com/defendicon/POS-Awesome-V15/issues/71)) ([221cbe4](https://github.com/defendicon/POS-Awesome-V15/commit/221cbe458e5743dfa0ac5cbf24ab77fd0ca41304)) +* Revert "chore: configure semantic-release ([#1836](https://github.com/defendicon/POS-Awesome-V15/issues/1836)) ([#1837](https://github.com/defendicon/POS-Awesome-V15/issues/1837))" ([#1838](https://github.com/defendicon/POS-Awesome-V15/issues/1838)) ([21de6f6](https://github.com/defendicon/POS-Awesome-V15/commit/21de6f62b772d00d484f580ba29b769558fe85f3)) +* Revert "feat: add offline mode toggle ([#386](https://github.com/defendicon/POS-Awesome-V15/issues/386))" ([#387](https://github.com/defendicon/POS-Awesome-V15/issues/387)) ([6d5e02d](https://github.com/defendicon/POS-Awesome-V15/commit/6d5e02d4f11fc7a5b0481f166c302a0f0d88946b)) +* Revert "feat: add price list selection and balance alignment ([#332](https://github.com/defendicon/POS-Awesome-V15/issues/332))" ([#333](https://github.com/defendicon/POS-Awesome-V15/issues/333)) ([8c76d4a](https://github.com/defendicon/POS-Awesome-V15/commit/8c76d4a492d5b5958b1340edfd109f9d4ef2ea49)) +* Revert "feat: add theme toggle ([#240](https://github.com/defendicon/POS-Awesome-V15/issues/240))" ([#241](https://github.com/defendicon/POS-Awesome-V15/issues/241)) ([042eb03](https://github.com/defendicon/POS-Awesome-V15/commit/042eb036cf4071b9ebe436d16816bb9087a0d20b)) +* Revert "feat: apply dark mode style to inputs ([#291](https://github.com/defendicon/POS-Awesome-V15/issues/291))" ([#292](https://github.com/defendicon/POS-Awesome-V15/issues/292)) ([fcfe26c](https://github.com/defendicon/POS-Awesome-V15/commit/fcfe26c4eea67697570982aedcdaee2c18ef0768)) +* Revert "feat: defer item loading with skeleton placeholder ([#371](https://github.com/defendicon/POS-Awesome-V15/issues/371))" ([#372](https://github.com/defendicon/POS-Awesome-V15/issues/372)) ([2674a35](https://github.com/defendicon/POS-Awesome-V15/commit/2674a35a0f7fe3f84ec41525f7aa8dc9e9f4625a)) +* Revert "feat: improve posting date picker ([#191](https://github.com/defendicon/POS-Awesome-V15/issues/191))" ([#192](https://github.com/defendicon/POS-Awesome-V15/issues/192)) ([754638c](https://github.com/defendicon/POS-Awesome-V15/commit/754638cfdc5dcaade37bbfb72a8b0078b3425d52)) +* Revert "feat: improve posting date picker ([#191](https://github.com/defendicon/POS-Awesome-V15/issues/191))" ([#193](https://github.com/defendicon/POS-Awesome-V15/issues/193)) ([a73002d](https://github.com/defendicon/POS-Awesome-V15/commit/a73002d71de03ba90039a3155bd062d213b0146c)) +* Revert "feat: load cached customers when offline ([#147](https://github.com/defendicon/POS-Awesome-V15/issues/147))" ([#151](https://github.com/defendicon/POS-Awesome-V15/issues/151)) ([9bbbd50](https://github.com/defendicon/POS-Awesome-V15/commit/9bbbd50bf5e6bd889a614836c8b27ae0e984f532)) +* Revert "feat: reuse item requests with caching ([#1660](https://github.com/defendicon/POS-Awesome-V15/issues/1660))" ([#1662](https://github.com/defendicon/POS-Awesome-V15/issues/1662)) ([7d81660](https://github.com/defendicon/POS-Awesome-V15/commit/7d8166054a2a8403a00d133f1ccbaadf20df76be)) +* Revert "feat(offline): add stock cache initialization tracking and optimize i…" ([#411](https://github.com/defendicon/POS-Awesome-V15/issues/411)) ([827d4e0](https://github.com/defendicon/POS-Awesome-V15/commit/827d4e0922b508cc4c68beb654c7a174716bc3b3)) +* Revert "feat(pos): add drag and drop support for items between selector and t…" ([#719](https://github.com/defendicon/POS-Awesome-V15/issues/719)) ([4d3e414](https://github.com/defendicon/POS-Awesome-V15/commit/4d3e414cd04d28ccdf211c5e8c317aacaa174012)) +* Revert "feat(pos): show open shift dialog after closing ([#167](https://github.com/defendicon/POS-Awesome-V15/issues/167))" ([#170](https://github.com/defendicon/POS-Awesome-V15/issues/170)) ([c151af6](https://github.com/defendicon/POS-Awesome-V15/commit/c151af6d7130696e1b41e0d3bdd555a9cab4b7d2)) +* Revert "feat(ui): adapt tables for dark mode ([#252](https://github.com/defendicon/POS-Awesome-V15/issues/252))" ([#253](https://github.com/defendicon/POS-Awesome-V15/issues/253)) ([7356642](https://github.com/defendicon/POS-Awesome-V15/commit/7356642063eb890e590d50701e600a115bf4b9ee)) +* Revert "feat(ui): align payments with invoices ([#132](https://github.com/defendicon/POS-Awesome-V15/issues/132))" ([#133](https://github.com/defendicon/POS-Awesome-V15/issues/133)) ([3f6adb7](https://github.com/defendicon/POS-Awesome-V15/commit/3f6adb73efae2d372d09c17d55116fa6b7ca9f75)) +* Revert "feat(ui): use virtual tables ([#368](https://github.com/defendicon/POS-Awesome-V15/issues/368))" ([#375](https://github.com/defendicon/POS-Awesome-V15/issues/375)) ([1ce7137](https://github.com/defendicon/POS-Awesome-V15/commit/1ce7137a3b8d1c2b0b7d082445c61c9f1d9a4afd)) +* Revert "fix build script and cleanup ([#1079](https://github.com/defendicon/POS-Awesome-V15/issues/1079))" ([#1082](https://github.com/defendicon/POS-Awesome-V15/issues/1082)) ([2244652](https://github.com/defendicon/POS-Awesome-V15/commit/2244652b33875403ec359bf33d2c30d25797a276)) +* Revert "Fix customer autocomplete displaying code ([#397](https://github.com/defendicon/POS-Awesome-V15/issues/397))" ([#400](https://github.com/defendicon/POS-Awesome-V15/issues/400)) ([4959b56](https://github.com/defendicon/POS-Awesome-V15/commit/4959b56897f9004158727bd7109ac0fca0476e0b)) +* Revert "fix customer dropdown to show name ([#398](https://github.com/defendicon/POS-Awesome-V15/issues/398))" ([#399](https://github.com/defendicon/POS-Awesome-V15/issues/399)) ([d175d5f](https://github.com/defendicon/POS-Awesome-V15/commit/d175d5fbbe017cc36f2536c805126aa321bc0d32)) +* Revert "Fix dark mode backgrounds for item selector ([#276](https://github.com/defendicon/POS-Awesome-V15/issues/276))" ([#277](https://github.com/defendicon/POS-Awesome-V15/issues/277)) ([782d569](https://github.com/defendicon/POS-Awesome-V15/commit/782d5696086858c798eac149eb34fcdf316f1ae2)) +* Revert "fix dark mode card backgrounds ([#244](https://github.com/defendicon/POS-Awesome-V15/issues/244))" ([#245](https://github.com/defendicon/POS-Awesome-V15/issues/245)) ([49da097](https://github.com/defendicon/POS-Awesome-V15/commit/49da097270b8ad2935dcf188798b983da443997a)) +* Revert "Fix dark mode table background ([#278](https://github.com/defendicon/POS-Awesome-V15/issues/278))" ([#279](https://github.com/defendicon/POS-Awesome-V15/issues/279)) ([9152360](https://github.com/defendicon/POS-Awesome-V15/commit/9152360fa8135693662bd94cc6a9d0e1f91f5608)) +* Revert "Fix dark mode table wrapper ([#283](https://github.com/defendicon/POS-Awesome-V15/issues/283))" ([#284](https://github.com/defendicon/POS-Awesome-V15/issues/284)) ([941b216](https://github.com/defendicon/POS-Awesome-V15/commit/941b216e14cfd5352ec29b64f2fd465e99cee7f4)) +* Revert "fix duplicate export ([#409](https://github.com/defendicon/POS-Awesome-V15/issues/409))" ([#410](https://github.com/defendicon/POS-Awesome-V15/issues/410)) ([9f61897](https://github.com/defendicon/POS-Awesome-V15/commit/9f618970c035a1f5394cf8a0fd1e225748a5fcaf)) +* Revert "fix invoice posting date picker ([#189](https://github.com/defendicon/POS-Awesome-V15/issues/189))" ([#195](https://github.com/defendicon/POS-Awesome-V15/issues/195)) ([0a5ee9d](https://github.com/defendicon/POS-Awesome-V15/commit/0a5ee9de7bd15b405f8d58146fb2f01f7fc16d9c)) +* Revert "Fix keyboard shortcuts persisting ([#174](https://github.com/defendicon/POS-Awesome-V15/issues/174))" ([#179](https://github.com/defendicon/POS-Awesome-V15/issues/179)) ([1f9435d](https://github.com/defendicon/POS-Awesome-V15/commit/1f9435d26f1945d1591578c860ba1554ba00de1a)) +* Revert "fix offline customer cache ([#149](https://github.com/defendicon/POS-Awesome-V15/issues/149))" ([#150](https://github.com/defendicon/POS-Awesome-V15/issues/150)) ([c1995ad](https://github.com/defendicon/POS-Awesome-V15/commit/c1995ad5f3042aeaf07e5a3898a662d1c62fd47b)) +* Revert "fix offline imports ([#233](https://github.com/defendicon/POS-Awesome-V15/issues/233))" ([#234](https://github.com/defendicon/POS-Awesome-V15/issues/234)) ([10c8371](https://github.com/defendicon/POS-Awesome-V15/commit/10c83714c6dd5d66835961668b6cbadb60f2a868)) +* Revert "Fix return of plc conversion rate ([#688](https://github.com/defendicon/POS-Awesome-V15/issues/688))" ([#689](https://github.com/defendicon/POS-Awesome-V15/issues/689)) ([19af6fe](https://github.com/defendicon/POS-Awesome-V15/commit/19af6fe8a1faf89c85bfa0d62b16821ecb45acc1)) +* Revert "Fix SQL condition building ([#450](https://github.com/defendicon/POS-Awesome-V15/issues/450))" ([#451](https://github.com/defendicon/POS-Awesome-V15/issues/451)) ([1ea3252](https://github.com/defendicon/POS-Awesome-V15/commit/1ea32522cf4d88159850800e305969d3dc34b3dc)) +* Revert "fix: avoid auto item load with limit search ([#448](https://github.com/defendicon/POS-Awesome-V15/issues/448))" ([#453](https://github.com/defendicon/POS-Awesome-V15/issues/453)) ([8513d67](https://github.com/defendicon/POS-Awesome-V15/commit/8513d67c0b14dc1ce6f3a631b0b3c902ea13441b)) +* Revert "fix: correct exchange rate orientation ([#744](https://github.com/defendicon/POS-Awesome-V15/issues/744))" ([#745](https://github.com/defendicon/POS-Awesome-V15/issues/745)) ([d5835a6](https://github.com/defendicon/POS-Awesome-V15/commit/d5835a680085d075629205cbc31d4b0cf0eb1034)) +* Revert "fix: dark mode for item table ([#280](https://github.com/defendicon/POS-Awesome-V15/issues/280))" ([#281](https://github.com/defendicon/POS-Awesome-V15/issues/281)) ([b1df5c6](https://github.com/defendicon/POS-Awesome-V15/commit/b1df5c6c21e6df49369ce3771c5a001fc27da032)) +* Revert "fix: debounce customer search ([#358](https://github.com/defendicon/POS-Awesome-V15/issues/358))" ([#359](https://github.com/defendicon/POS-Awesome-V15/issues/359)) ([2b64e71](https://github.com/defendicon/POS-Awesome-V15/commit/2b64e717b83172d696ad8ba3b7975f55b773faf8)) +* Revert "fix: disable payment submit shortcut when dialog hidden ([#175](https://github.com/defendicon/POS-Awesome-V15/issues/175))" ([#178](https://github.com/defendicon/POS-Awesome-V15/issues/178)) ([9dc9ec6](https://github.com/defendicon/POS-Awesome-V15/commit/9dc9ec6ef11a167c503b465593a23a8b4818780e)) +* Revert "fix: enable customer selection offline ([#143](https://github.com/defendicon/POS-Awesome-V15/issues/143))" ([#146](https://github.com/defendicon/POS-Awesome-V15/issues/146)) ([e9316d0](https://github.com/defendicon/POS-Awesome-V15/commit/e9316d05ae8a439b1374c1d5d17d291670aae4a3)) +* Revert "fix: enable offline customer search ([#462](https://github.com/defendicon/POS-Awesome-V15/issues/462))" ([#467](https://github.com/defendicon/POS-Awesome-V15/issues/467)) ([a96ef45](https://github.com/defendicon/POS-Awesome-V15/commit/a96ef45e6adb0d5a2eb0efae8a973e834d8b7154)) +* Revert "fix: ensure item selector dark mode uses black background ([#274](https://github.com/defendicon/POS-Awesome-V15/issues/274))" ([#275](https://github.com/defendicon/POS-Awesome-V15/issues/275)) ([13ee5b2](https://github.com/defendicon/POS-Awesome-V15/commit/13ee5b25712b252cf516420421487313cb88637c)) +* Revert "fix: fully clear cache including service worker ([#751](https://github.com/defendicon/POS-Awesome-V15/issues/751)) ([#752](https://github.com/defendicon/POS-Awesome-V15/issues/752))" ([#756](https://github.com/defendicon/POS-Awesome-V15/issues/756)) ([e1c010c](https://github.com/defendicon/POS-Awesome-V15/commit/e1c010c61df70342d890f670971d2dfc8e2c6058)) +* Revert "fix: handle null pos_profile on shift close ([#168](https://github.com/defendicon/POS-Awesome-V15/issues/168))" ([#169](https://github.com/defendicon/POS-Awesome-V15/issues/169)) ([e59185f](https://github.com/defendicon/POS-Awesome-V15/commit/e59185f81b6fedb1fb3d2d5afb6b0f0089a2ab11)) +* Revert "fix: include pos_profile in item APIs ([#440](https://github.com/defendicon/POS-Awesome-V15/issues/440))" ([#441](https://github.com/defendicon/POS-Awesome-V15/issues/441)) ([2b0dc08](https://github.com/defendicon/POS-Awesome-V15/commit/2b0dc081809b1f76541530b4780ef0d25daee638)) +* Revert "fix: load item rate before adding ([#472](https://github.com/defendicon/POS-Awesome-V15/issues/472))" ([#473](https://github.com/defendicon/POS-Awesome-V15/issues/473)) ([e8a6e40](https://github.com/defendicon/POS-Awesome-V15/commit/e8a6e4042f1a63a61f33d40fab4632ad0c1a9f4e)) +* Revert "fix: make customer_id optional ([#762](https://github.com/defendicon/POS-Awesome-V15/issues/762))" ([#763](https://github.com/defendicon/POS-Awesome-V15/issues/763)) ([694195d](https://github.com/defendicon/POS-Awesome-V15/commit/694195d108f28c648b433e84093f8cd7bbb663f1)) +* Revert "fix: refresh stock cache after syncing offline invoices ([#258](https://github.com/defendicon/POS-Awesome-V15/issues/258))" ([#259](https://github.com/defendicon/POS-Awesome-V15/issues/259)) ([db0a04a](https://github.com/defendicon/POS-Awesome-V15/commit/db0a04a0069d2ff851688a9ac01bc3e76b499768)) +* Revert "fix: refresh stock cache when going online ([#257](https://github.com/defendicon/POS-Awesome-V15/issues/257))" ([#260](https://github.com/defendicon/POS-Awesome-V15/issues/260)) ([526d3ce](https://github.com/defendicon/POS-Awesome-V15/commit/526d3ce2ba1f416ff9a70ccc13ef8930059a9c32)) +* Revert "fix: reload item rates when price list cache missing ([#470](https://github.com/defendicon/POS-Awesome-V15/issues/470))" ([#475](https://github.com/defendicon/POS-Awesome-V15/issues/475)) ([c2fa558](https://github.com/defendicon/POS-Awesome-V15/commit/c2fa558730e9bf16dc79ff1471262e2cef6c551e)) +* Revert "fix: remove trailing comma in utils ([#220](https://github.com/defendicon/POS-Awesome-V15/issues/220))" ([#221](https://github.com/defendicon/POS-Awesome-V15/issues/221)) ([235b36a](https://github.com/defendicon/POS-Awesome-V15/commit/235b36a3d2e0374869836a1b1e572fb373353367)) +* Revert "fix: reset loading on failed item search ([#449](https://github.com/defendicon/POS-Awesome-V15/issues/449))" ([#452](https://github.com/defendicon/POS-Awesome-V15/issues/452)) ([fc8a18a](https://github.com/defendicon/POS-Awesome-V15/commit/fc8a18a0196a89fbdcb4f565c4a3660b69f508c6)) +* Revert "fix: reset offline state after invoice sync ([#262](https://github.com/defendicon/POS-Awesome-V15/issues/262))" ([#263](https://github.com/defendicon/POS-Awesome-V15/issues/263)) ([4545b40](https://github.com/defendicon/POS-Awesome-V15/commit/4545b40e329aab029f0845a4a2771c4b6a5a4985)) +* Revert "fix: reset qty on invoice clear and offline ([#256](https://github.com/defendicon/POS-Awesome-V15/issues/256))" ([#261](https://github.com/defendicon/POS-Awesome-V15/issues/261)) ([303331d](https://github.com/defendicon/POS-Awesome-V15/commit/303331d2ea7fb12aa6b0ce75dd6609e184370303)) +* Revert "fix: show cached customers when fetch fails ([#144](https://github.com/defendicon/POS-Awesome-V15/issues/144))" ([#145](https://github.com/defendicon/POS-Awesome-V15/issues/145)) ([663c070](https://github.com/defendicon/POS-Awesome-V15/commit/663c070f8010e73024ea175c1efcedb2d5ca7fb5)) +* Revert "fix: uniform date picker layout ([#187](https://github.com/defendicon/POS-Awesome-V15/issues/187))" ([#196](https://github.com/defendicon/POS-Awesome-V15/issues/196)) ([24eaa06](https://github.com/defendicon/POS-Awesome-V15/commit/24eaa06ed8edcb62a5944efdb9d4c812497e4817)) +* Revert "fix: update invoice date picker ([#190](https://github.com/defendicon/POS-Awesome-V15/issues/190))" ([#194](https://github.com/defendicon/POS-Awesome-V15/issues/194)) ([59389cc](https://github.com/defendicon/POS-Awesome-V15/commit/59389cc345d1e229a37b1a65c184c37fdfe67e95)) +* Revert "fix: use selected currency in item detail update ([#740](https://github.com/defendicon/POS-Awesome-V15/issues/740))" ([#741](https://github.com/defendicon/POS-Awesome-V15/issues/741)) ([3907565](https://github.com/defendicon/POS-Awesome-V15/commit/39075655aa04a0ac8160a681c708d31e74764aa7)) +* Revert "fix: wait for offline init before loading customers ([#463](https://github.com/defendicon/POS-Awesome-V15/issues/463))" ([#464](https://github.com/defendicon/POS-Awesome-V15/issues/464)) ([8bf8ff1](https://github.com/defendicon/POS-Awesome-V15/commit/8bf8ff1ba2ab880a5c6989b57d9085d6edb276ea)) +* Revert "fix: wait for offline init before loading customers ([#463](https://github.com/defendicon/POS-Awesome-V15/issues/463))" ([#466](https://github.com/defendicon/POS-Awesome-V15/issues/466)) ([08c6a03](https://github.com/defendicon/POS-Awesome-V15/commit/08c6a0360d71368f9df8891e4adfaf4b46656ddb)) +* Revert "fix(get_items): guard limit and offset ([#429](https://github.com/defendicon/POS-Awesome-V15/issues/429))" ([#431](https://github.com/defendicon/POS-Awesome-V15/issues/431)) ([ebd1a63](https://github.com/defendicon/POS-Awesome-V15/commit/ebd1a630a9213bbe0ab557bcb47411d33b0b57f8)) +* Revert "fix(get_items): normalize limit/offset ([#432](https://github.com/defendicon/POS-Awesome-V15/issues/432))" ([#433](https://github.com/defendicon/POS-Awesome-V15/issues/433)) ([6b6ddbf](https://github.com/defendicon/POS-Awesome-V15/commit/6b6ddbf35c1c261b69203d45b25f5213671a9629)) +* Revert "fix(invoice): ensure payment opens ([#176](https://github.com/defendicon/POS-Awesome-V15/issues/176))" ([#177](https://github.com/defendicon/POS-Awesome-V15/issues/177)) ([42b6ffa](https://github.com/defendicon/POS-Awesome-V15/commit/42b6ffa0f94eed72a27c1b8d4a09299c50c6387d)) +* Revert "fix(items): load default price list ([#471](https://github.com/defendicon/POS-Awesome-V15/issues/471))" ([#474](https://github.com/defendicon/POS-Awesome-V15/issues/474)) ([cefc60c](https://github.com/defendicon/POS-Awesome-V15/commit/cefc60c61c7d16bf9a962e722150191718f90a59)) +* Revert "fix(items): reload items when limit search ([#445](https://github.com/defendicon/POS-Awesome-V15/issues/445))" ([#447](https://github.com/defendicon/POS-Awesome-V15/issues/447)) ([1b20c03](https://github.com/defendicon/POS-Awesome-V15/commit/1b20c03208093318ba4a3f0ee2becaeedbb0a9c6)) +* Revert "Improve clearcache ([#754](https://github.com/defendicon/POS-Awesome-V15/issues/754))" ([#755](https://github.com/defendicon/POS-Awesome-V15/issues/755)) ([c3c0dd3](https://github.com/defendicon/POS-Awesome-V15/commit/c3c0dd38e3594d14b3d93f11acf4d7f5d6bcd703)) +* Revert "Make offline initialization asynchronous ([#370](https://github.com/defendicon/POS-Awesome-V15/issues/370))" ([#373](https://github.com/defendicon/POS-Awesome-V15/issues/373)) ([f66b816](https://github.com/defendicon/POS-Awesome-V15/commit/f66b816f7805edafdb60ae697bbba8ee41fc6d83)) +* Revert "New Feature Not Allowing to remove item. ([#50](https://github.com/defendicon/POS-Awesome-V15/issues/50))" ([#52](https://github.com/defendicon/POS-Awesome-V15/issues/52)) ([a98f46c](https://github.com/defendicon/POS-Awesome-V15/commit/a98f46cec0fcdc330860ceb674aa8f0cb4cb71bc)) +* Revert "Optimize item search filtering ([#365](https://github.com/defendicon/POS-Awesome-V15/issues/365))" ([#367](https://github.com/defendicon/POS-Awesome-V15/issues/367)) ([c94d751](https://github.com/defendicon/POS-Awesome-V15/commit/c94d7514ff2f4684581373ceb742a7d8a8e1a5e2)) +* Revert "pause item refresh when payment view active ([#205](https://github.com/defendicon/POS-Awesome-V15/issues/205))" ([#206](https://github.com/defendicon/POS-Awesome-V15/issues/206)) ([2f7c9fd](https://github.com/defendicon/POS-Awesome-V15/commit/2f7c9fda4762f6cf018495ec441b8258408f3d6f)) +* Revert "Refactor invoice methods into separate modules ([#219](https://github.com/defendicon/POS-Awesome-V15/issues/219))" ([#222](https://github.com/defendicon/POS-Awesome-V15/issues/222)) ([8ac6f59](https://github.com/defendicon/POS-Awesome-V15/commit/8ac6f590c0eab738f5b5f51e9852112e280549d3)) +* Revert "Refactor offline structure ([#1547](https://github.com/defendicon/POS-Awesome-V15/issues/1547))" ([#1558](https://github.com/defendicon/POS-Awesome-V15/issues/1558)) ([94ee8fe](https://github.com/defendicon/POS-Awesome-V15/commit/94ee8fe0af929cd405a1e569187e1e4de4b6439a)) +* Revert "refactor: split Invoice methods ([#231](https://github.com/defendicon/POS-Awesome-V15/issues/231))" ([#232](https://github.com/defendicon/POS-Awesome-V15/issues/232)) ([32ed5f9](https://github.com/defendicon/POS-Awesome-V15/commit/32ed5f9d28dbe9d5ba43cdd00ba306676621cab9)) +* Revert "Revert "Add auto search when limit search enabled ([#378](https://github.com/defendicon/POS-Awesome-V15/issues/378))" ([#379](https://github.com/defendicon/POS-Awesome-V15/issues/379))" ([#380](https://github.com/defendicon/POS-Awesome-V15/issues/380)) ([48f2689](https://github.com/defendicon/POS-Awesome-V15/commit/48f2689cfcd72b87b78325d8489c30597809e09d)) +* Revert "revert: remove limit and offset from get_items ([#426](https://github.com/defendicon/POS-Awesome-V15/issues/426))" ([#427](https://github.com/defendicon/POS-Awesome-V15/issues/427)) ([dd93409](https://github.com/defendicon/POS-Awesome-V15/commit/dd93409113f140840484e3a09a2dd6315dbf13f5)) +* Revert "style(invoice): match date picker styling ([#186](https://github.com/defendicon/POS-Awesome-V15/issues/186))" ([#197](https://github.com/defendicon/POS-Awesome-V15/issues/197)) ([2ff6e2f](https://github.com/defendicon/POS-Awesome-V15/commit/2ff6e2f90bab4ffeb0a96cd49339d943025a49f7)) +* Revert "Use shared DatePicker across POS components ([#102](https://github.com/defendicon/POS-Awesome-V15/issues/102))" ([#103](https://github.com/defendicon/POS-Awesome-V15/issues/103)) ([ae04636](https://github.com/defendicon/POS-Awesome-V15/commit/ae04636b281118007279eb1c57db9187b57da673)) diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000000..430015a3ce --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,266 @@ +# Claude Code Configuration for POSAwesome + +## About This Project + +POSAwesome is a Frappe application - a Point of Sale (POS) system built on the Frappe Framework. This is a full-stack web application with Python backend and Vue.js frontend components. + +**Enhanced Camera Scanner**: Features advanced OpenCV-based image processing for superior barcode and QR code scanning with real-time image enhancement. + +## Build Commands + +### Main Build Commands +```bash +# Build frontend assets for production +bench build --app posawesome + + +# Force rebuild (cleans cache first) +bench build --app posawesome --force + +# Build all apps in the bench +bench build +``` + +### Development Server +```bash +# Start development server +bench start + +# Start with specific port +bench start --port 8000 +``` + +## Project Structure + +``` +posawesome/ +├── frontend/ # Vue.js frontend +│ ├── src/ +│ │ ├── posapp/ +│ │ │ ├── components/ # Vue components +│ │ │ └── pages/ # Vue pages +│ │ └── main.js # Frontend entry point +│ └── package.json # Frontend dependencies +├── posawesome/ # Python backend +│ ├── public/ # Static assets +│ ├── posawesome/ # Main module +│ │ ├── doctype/ # DocType definitions +│ │ ├── api/ # API endpoints +│ │ └── hooks.py # App hooks +├── CLAUDE.md # This file +└── pyproject.toml # Python dependencies +``` + +## Common Development Commands + +### Site Management +```bash +# Create new site +bench new-site mysite.local + +# Install app on site +bench --site mysite.local install-app posawesome + +# Migrate database +bench --site mysite.local migrate + +# Access site console +bench --site mysite.local console + +# Backup site +bench --site mysite.local backup +``` + +### Database Operations +```bash +# Run migrations +bench migrate + +# Reload specific doctype +bench --site mysite.local console +>>> frappe.reload_doc('posawesome', 'doctype', 'pos_invoice') + +# Clear cache +bench --site mysite.local clear-cache +``` + +### Code Quality & Testing +```bash +# Run tests +bench --site mysite.local run-tests --app posawesome + +# Run specific module tests +bench --site mysite.local run-tests --module posawesome.tests.test_pos + +# Check Python syntax issues +cd ~/frappe-bench/sites +../env/bin/python ../apps/frappe/frappe/utils/bench_helper.py +``` + +## Frontend Development + +### Vue.js Components +- Built with Vue 3 and Vuetify +- Components located in `frontend/src/posapp/components/` +- Use composition API where possible +- Follow Frappe UI patterns and conventions + +### Asset Building +- Uses Vite as build tool +- Automatic compilation on `bench build --app posawesome` +- Watch mode available with `--dev` flag + +### Styling +- Uses Vuetify components and Material Design +- Custom SCSS in component ` + +
+We can't reach the network or your server right now. Your local cache is available, but syncing requires the server.
+ +