Before you begin
Make sure you have:- shopMaster installed on your Windows machine
- Your SQL Server connection details (server name, database name, authentication method)
- Your Digible account credentials (email and password)
- The name of your product table in SQL Server
Your product table should have columns for
ProductID, ProductName, SellPrice, QrCode, and Status to work with shopMaster.Step 1: Launch shopMaster
Open the application
Double-click
digiblesync.exe (or run python main.py if running from source).The shopMaster window will open with two tabs: Home and Settings.Step 2: Configure Digible credentials
Connect shopMaster to your Digible cloud account.Enter your Digible email
In the Digible Email field, enter the email address associated with your Digible business account.
Step 3: Configure SQL Server connection
Set up the connection to your local SQL Server database.Enter server name
In the Server Name field, enter your SQL Server instance name. Examples:
localhostfor a local instancelocalhost\SQLEXPRESSfor SQL Server Express192.168.1.100for a network server
Enter database name
In the Database Name field, enter the name of the database containing your product table.
Enter product table name
In the Local Table Name field, enter the exact name of your product table (e.g.,
Products, Inventory, Items).Choose authentication method
From the Security dropdown, select your authentication method:
- Windows Authentication - Use your Windows credentials (recommended for local servers)
- Password - Use SQL Server authentication
- Username - Your SQL Server username
- Password - Your SQL Server password
Step 4: Test connections
Verify that shopMaster can connect to both your database and Digible.Step 5: Configure database triggers
shopMaster uses database triggers to track changes automatically.Wait for configuration
shopMaster will:
- Create a
ChangeLogtable in your database (if it doesn’t exist) - Create three triggers on your product table:
trgAfterInsert- Tracks new products (seeapp/helper.py:57)trgAfterUpdate- Tracks product updates (seeapp/helper.py:74)trgAfterDelete- Tracks deleted products (seeapp/helper.py:92)
- Save your configuration to a
.envfile
The ChangeLog table stores changes temporarily before syncing them to Digible. After each successful sync, the log is automatically cleared.
Step 6: Upload existing products (optional)
If you have existing products in your database, upload them to Digible before starting automatic sync.The batch size is set to 200 products per request in
app/helper.py:141. This ensures efficient uploads without overwhelming the API.Step 7: Start automatic sync
Enable automatic synchronization to keep your databases in sync.Start the sync task
Click the Start Sync task button.shopMaster will:
- Perform an immediate sync
- Schedule automatic syncs every 2 minutes
- Display the last sync time and status
Step 8: Test the sync
Verify that changes to your database are being synced to Digible.Wait for sync
Wait up to 2 minutes for the next scheduled sync, or click Sync now for an immediate sync.
During sync, shopMaster:
- Reads all changes from the ChangeLog table (see
app/helper.py:291) - Sends INSERT operations to
/v1/business/stores/product/sync - Sends UPDATE operations to
/v1/business/stores/product/external/update - Clears the ChangeLog after successful sync (see
app/helper.py:334)
Using manual sync
You can trigger a sync anytime without waiting for the scheduled interval:- Click Sync now on the Home page
- The sync will execute immediately and update the “Last Sync” timestamp
- Any pending changes in the ChangeLog will be sent to Digible
Stopping the sync
To temporarily stop automatic synchronization:- Click Stop Sync task on the Home page
- Scheduled syncs will be cancelled
- You can still use Sync now for manual syncs
- Click Start Sync task again to resume automatic syncs
Troubleshooting
Session expired error
Session expired error
If you see “User session expired, please reconfigure”:
- Go to Settings
- Re-enter your Digible password
- Click Configure to get a fresh access token
Connection refused
Connection refused
If sync fails with connection errors:
- Verify your internet connection (shopMaster checks connectivity via
app/check_connection.py:3) - Check if Digible’s API at
api.digible.oneis accessible - Ensure your firewall allows outbound HTTPS connections
No changes being synced
No changes being synced
If changes aren’t appearing in Digible:
- Verify the triggers are installed: Check for
trgAfterInsert,trgAfterUpdate, andtrgAfterDeletein SQL Server - Check the ChangeLog table:
SELECT * FROM ChangeLogshould show recent changes - Review the application output for error messages
Next steps
Now that you have shopMaster up and running:Configuration guide
Learn about advanced configuration options and customization
API reference
Explore the internal functions used by shopMaster