1. Export to QuickBooks Online (via API wrapper) from Accounting Exports Window:
Definition of Done:
- QBO export types appear in dropdown when configured.
- Date range filter is always visible, but SP applies it only when `use_dates=Yes`.
- Export Data button calls API wrapper instead of generating CSV.
- Records marked as exported in Elecate match wrapper response.
- Re-export rules enforced (allowed for Customers/Sales, blocked for Payments).
- Logs available with full traceability.
AC1 — App setting parsing:
Given: the AccountingExport smart string includes QBO values
When: the window loads
Then: it correctly parses each entry into `unique_name`, `description`, and `use_dates`
And: the Export Type dropdown shows the descriptions.
AC2 — Grid population (Refresh behavior):
Given: a QBO Export Type is selected
When: the user clicks **Refresh**
Then: the window calls the corresponding **stored procedure** for that export type
And: the stored procedure applies the date filter **only if** `use_dates=Yes`
And: if `use_dates=No`, the stored procedure ignores the date inputs and returns all candidate records
And: the grid displays the returned records with their `isexported` status.
AC3 — API export:
Given: the Export Type is QBO_Customer, QBO_Sales, or QBO_Cash
When: the user selects rows (bulk action, or batch processing) and clicks **Export Data**
Then: window calls the appropriate API endpoint
And: passes the selected IDs as a comma-delimited query parameter
And: includes `X-Database-Name` with the database name.
AC4 — Success handling:
Given: the API marks, exported records as `isexported=1`
When: the export completes
Then: the window refreshes the grid
And: shows which records were exported successfully.
AC5 — Error handling:
Given: the API returns partial or full failures
When: the export completes
Then: the window displays an error summary with failed IDs and reasons
And: only failures remain available for retry (subject to re-export rules).
AC6 — Re-export rules:
Given: a record is already exported
When: the export type is QBO_Customer or QBO_Sales
Then: the user can still select and export it again.
But When: the export type is QBO_Cash
Then: the record cannot be re-exported (checkbox disabled or filtered out).
AC7 — Button labeling:
Given: the Export Type is QBO_*
When: the export button is displayed
Then: it shows **Export Data** (not Export to CSV).
AC8 — Logging & telemetry:
When: an export is attempted
Then: the app logs export type, IDs, user, database, API endpoint, outcome per ID, and timestamp.
2. [Technical Debt] Create dedicated database user to connect with services:
-
Provide a user to connect to the Empower databases
- Document scope of user
3. As a Support Agent, I need the development team change from Canaries to Miners Founding and Bittersweet databases:
- The following Client databases are changed to Miners:
- Founding Farmers
- Bittersweet Catering.