π¦ Acumatica Inventory Scanner
Scan barcodes, fetch live Acumatica inventory, and see per-warehouse stockβmanual setup today, guided onboarding coming soon.
Developed by AcuPower LTD - Acumatica Implementation Experts
β¨ Features
- π· Real-time Barcode Scanning - Fast camera-based barcode detection
- π Inventory Lookup - Instantly search and view stock item details
- π OAuth 2.0 Authentication - Secure API access to Acumatica
- πΎ Settings Persistence - Save credentials for quick re-login
- π¨ Modern Dark Theme - Industrial-inspired UI design
- π± Cross-Platform - Works on Android and iOS
π Prerequisites
Before using this app, ensure you have:
- Acumatica ERP Instance (version 20.2 or later)
- User Account with API access permissions
- OAuth Connected Application configured in Acumatica
π§ Acumatica Configuration
Step 1: Create an OAuth Connected Application
The app requires OAuth credentials for secure API access. Follow these steps:
- Navigate to Connected Applications
- In Acumatica, go to: System β Integration β Connected Applications
- Or use the screen ID:
SM303010

- Create New Application
- Click the "+" button to create a new record
- Fill in the following fields:
| Field |
Value |
| Client Name |
InventoryScanner (or your preferred name) |
| Active |
β
Checked |
| Flow |
Resource Owner Password Credentials |
| Plug-In |
No Plug-In |

- Add a Client Secret
- Click "Add Shared Secret" in the Secrets tab
- Enter a description (e.g., "Mobile App Secret")
- β οΈ IMPORTANT: Copy and save the generated secret value immediately!
- The secret is only shown once and cannot be retrieved later
- Click OK to add the secret

- Save and Note Credentials
- Press Ctrl+S to save
- Note the following values:
- Client ID (e.g.,
C6ECE655-8FE3-5C1F-C7C8-3309E724BA61@Company)
- Client Secret (the value you copied in step 3)

Step 2: Find Your API Version
The app needs to know which API version your Acumatica instance supports:
- Check Available Endpoints
- Open your browser and navigate to:
https://your-instance.acumatica.com/YourSite/entity
-
This returns a JSON list of available API endpoints
-
Note the Version
- Look for entries with
"name": "Default"
- Common versions:
24.200.001, 23.200.001, 22.200.001
- Use the latest version available for your instance
π± App Configuration
First Launch Setup
- Open the App
-
Launch the Acumatica Inventory Scanner on your device
-
Enter Connection Details
| Field |
Description |
Example |
| Instance URL |
Your Acumatica site URL |
https://mycompany.acumatica.com/MySite |
| Username |
Your Acumatica username |
admin |
| Password |
Your Acumatica password |
**** |
| Tenant |
Optional - leave empty for single-tenant |
|
| API Version |
From Step 2 above |
24.200.001 |
| Client ID |
OAuth Client ID from Step 1 |
GUID@Company |
| Client Secret |
OAuth Secret from Step 1 |
your-secret-key |
- Test Connection
- Tap "Test Connection" to verify settings
-
A green success message confirms API access
-
Save Settings
- Tap "Save Settings" to persist for future use
- Enable "Remember credentials" for auto-fill on next launch
π― Using the Scanner
Scanning Barcodes
- Point camera at barcode - Position within the scanning frame
- Hold steady - The red scanning line indicates detection area
- Automatic detection - Barcode is recognized and searched automatically
Search Results
After scanning, the app displays:
- Item ID - Acumatica Inventory ID
- Description - Item description
- Availability - Current stock levels
- Warehouse Location - Where the item is stored
βοΈ Settings
Access settings anytime via the Settings tab:
Connection Settings
- Edit Acumatica URL and credentials
- Change API version
- Update OAuth credentials
App Preferences
- Play sound on scan - Audio feedback
- Vibrate on scan - Haptic feedback
- Auto-search after scan - Immediate lookup
- Remember credentials - Save login info
Reset
- Reset All Settings - Clear all saved data and start fresh
π Security Notes
- OAuth is Required - Cookie-based auth is not supported for REST API
- Credentials Storage - Passwords are stored in platform-secure storage
- Token Expiration - OAuth tokens expire after 1 hour; re-login if needed
- HTTPS Only - Always use secure connections
π Troubleshooting
"401 Unauthorized" Error
- OAuth credentials may be incorrect or expired
- Verify Client ID and Secret in Acumatica
- Check that the Connected Application is Active
"404 Not Found" Error
- API version mismatch
- The endpoint uses
StockItem, not InventoryItem
- Try a different API version from the
/entity endpoint
"Connection Failed"
- Check network connectivity
- Verify the instance URL is correct
- Ensure no VPN or firewall is blocking access
Scanner Not Detecting
- Ensure camera permissions are granted
- Hold device steady with good lighting
- Barcode must be within the scanning frame
π·οΈ Barcode Generator Utility
This repository includes a Windows desktop application for generating test barcodes. Located in the BarcodeGenerator/ folder.
Features
- Generate multiple barcode formats
- Batch generation (semicolon-separated codes)
- Customizable dimensions
- Export to PNG, JPEG, BMP, or PDF
- Real-time preview
| Format |
Characters |
Length Requirements |
Best For |
| Code 128 |
Alphanumeric + special |
Any length |
β
Inventory IDs (recommended) |
| QR Code |
Any text, URLs |
Any length |
URLs, long text |
| Data Matrix |
Any text |
Any length |
Small items, high density |
| PDF417 |
Any text |
Any length |
Documents, IDs |
| EAN-13 |
Digits only |
12-13 digits |
Retail products (worldwide) |
| EAN-8 |
Digits only |
7-8 digits |
Small retail products |
| UPC-A |
Digits only |
11-12 digits |
Retail products (US/Canada) |
| UPC-E |
Digits only |
7-8 digits |
Small packages (US) |
| ITF |
Digits only |
Even number of digits |
Shipping cartons |
| Codabar |
0-9, A-D, -, $, :, /, ., + |
Any length |
Libraries, blood banks |
Code 128 - Most versatile, recommended for Acumatica Inventory IDs
β
AALEGO500
β
ITEM-001-A
β
Any alphanumeric string
QR Code / Data Matrix / PDF417 - Can encode any text
β
https://acupowererp.com
β
Long product descriptions
β
Special characters: @#$%^&*
EAN-13 (European Article Number)
β
5901234123457 (13 digits)
β
590123412345 (12 digits - checksum auto-added)
β AALEGO500 (letters not allowed)
β 12345 (too short)
EAN-8 (Short EAN)
β
96385074 (8 digits)
β
9638507 (7 digits - checksum auto-added)
β 123456789 (too long)
UPC-A (Universal Product Code - North America)
β
012345678905 (12 digits)
β
01234567890 (11 digits - checksum auto-added)
β 1234567890 (too short)
UPC-E (Compressed UPC)
β
01234565 (8 digits)
β
0123456 (7 digits - checksum auto-added)
β 012345678 (too long)
ITF (Interleaved 2 of 5)
β
1234567890 (10 digits - even count)
β
12345678 (8 digits - even count)
β 123456789 (9 digits - odd count not allowed)
Usage
- Run the application: Open
BarcodeGenerator.exe or build from source
- Enter code(s): Type inventory IDs (use
; for multiple)
AALEGO500; WIDGET001; PART-123
- Select format: Choose barcode type from dropdown
- Set dimensions: Adjust width/height (default: 300Γ150)
- Generate: Click "Generate Barcode"
- Save: Export as image (PNG/JPEG/BMP) or PDF
Integration with Mobile Scanner
Use the Barcode Generator to:
- Create barcodes with your Acumatica Inventory IDs
- Print them or display on screen
- Scan with the mobile app to test the integration
- Verify API connectivity and item lookup
Building from Source
cd BarcodeGenerator
dotnet build
dotnet run
Requirements: .NET 8.0, Windows
π Support
Created by AcuPower LTD
π License
This project is licensed under the MIT License - a permissive open source license.
You are free to:
- β
Use commercially
- β
Modify
- β
Distribute
- β
Use privately
- β
Sublicense
See the LICENSE file for full details.
MIT License
Copyright (c) 2024-2026 AcuPower LTD (https://acupowererp.com)
π Version History
| Version |
Date |
Changes |
| 1.0.0 |
2024 |
Initial release with barcode scanning |
| 1.1.0 |
2025 |
Added OAuth support, Settings page |
| 1.2.0 |
2026 |
Modern UI redesign, persistent settings |