Bonsai Bulk Invoice Status Updater
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Bonsai Bulk Invoice Status Updater is a freelance and small business finance productivity tool that streamlines the process of updating invoice statuses in Bonsai. Instead of manually opening each invoice, clicking the status dropdown, selecting a new status, and saving—a process that can be tedious when managing many invoices—this script automates the entire workflow. It scans the current Bonsai invoices list page, identifies invoices with their client names, amounts, statuses, and due dates, and presents them as a scrollable checklist. You can select individual invoices, use Select All/Deselect All toggles, choose a target status from a dynamically populated dropdown (auto-detected from your Bonsai instance's available statuses), and update your selections to that status in configurable batches. The tool handles the complete interaction sequence: selecting the invoice, opening the status interface (dropdown or bulk edit modal), selecting the target status, and saving the change. Real-time progress updates show how many invoices have been updated, and the list automatically refreshes after completion. This is ideal for freelancers, consultants, and small business owners who need to manage invoice pipelines efficiently.
WHERE IT RUNS
This script operates exclusively on Bonsai (*.bonsai.com/*) as a userscript injected through the BotGentz extension. It runs within the context of your current browser tab and cannot access other tabs, bookmarks, history, or downloads. The script reads the page DOM to identify invoices using Bonsai's selectors (.invoice-row, .invoice-item, .list-item), extracts invoice metadata (client, amount, status, due date), and interacts with Bonsai's native UI controls—status dropdowns, bulk edit modals, and save/confirm buttons—to perform status updates. All operations occur locally in your browser; no data is sent to external servers.
HOW TO USE
1. Navigate to your Bonsai invoices list page (the page showing your invoices).
2. Click the BotGentz extension icon and select "Bonsai Bulk Invoice Status Updater" from the script list.
3. The panel opens on the right side of the page. It automatically scans the current page for invoices.
4. Review the displayed invoices, showing client names, invoice IDs, amounts, due dates, and current statuses.
5. Click "Refresh Statuses" to load available status options into the dropdown (statuses are auto-detected from the page).
6. Select your target status from the dropdown.
7. Adjust the "Batch size" number (default 3) to control how many invoices are processed per batch.
8. Toggle "Confirm before each batch" if you want a confirmation popup before each batch executes.
9. Check the boxes next to invoices you wish to update. Use "Select All" or "Deselect All" for quick selection.
10. Click "Update Status" to begin. The script processes invoices in batches, shows progress, and handles errors.
11. After completion, the invoice list automatically refreshes showing your updated statuses.
WHY IT WORKS WHERE OTHERS FAIL
Many Bonsai automation tools fail because they attempt to call Bonsai's internal API endpoints or rely on brittle DOM selectors that change with every Bonsai UI update. This script takes a resilient approach: it locates the actual interactive DOM elements Bonsai renders—the invoice checkbox, the status dropdown or bulk edit modal, and the save/confirm button—and triggers native click events and value changes on them, exactly as a human would. When updating a status, the script selects the invoice, finds the status interface using multiple selector strategies, selects the target status from the dropdown, and clicks Save/Apply. It sets the status value using both the native value setter and dispatches "input" and "change" events, ensuring Bonsai's JavaScript UI registers the update. Between operations, the script introduces controlled delays (300ms between actions and 500ms between batches) to mimic human interaction speed and avoid triggering Bonsai's rate limiting. By interacting at the UI layer rather than the framework layer, it remains functional across Bonsai's frequent code updates.
THE PANEL
The script uses BotGentz's BGPanel system, which provides a floating, draggable panel on the right side of your screen. Drag the panel by its header to reposition it anywhere on the page—the panel remembers its position per site and snaps to the nearest edge when released. Click the minimize button to collapse the panel to a small floating bubble; click the bubble to expand it back. Resize the panel vertically by dragging its bottom edge. Press the Escape key to close the panel entirely. All panel state (position, collapsed/expanded) is persisted locally using GM_setValue, so your preferences survive page reloads.
PLEASE NOTE
This userscript requires the free BotGentz browser extension—it is not a standalone application. Bonsai periodically updates its website layout and UI components; if the script stops working, an updated version may be released. The script updates the status of selected invoices; ensure you have selected the correct status before applying. This script does not store, transmit, or process any of your Bonsai data outside your local browser. It does not access your password, hidden inputs, or file inputs. All status updates are performed through Bonsai's own authenticated session using the official user interface. Use responsibly and verify the target status before updating invoices.