Release Notes 9.19.25:

1. Exporting 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 the 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. Being able to set up a Broadcast banner at the top of Elecate that will allow the users known for any important message (Stage 1):

A message will appear within every account so that final users can know any communication from the Elecate Team.

3. Being able to set up a Broadcast banner consuming a Database with the banner data (Stage 1):

Provide tables and objects within the <mark>**`GlobalSettings`**</mark> database.  Documentation updated.

4. Setting up the GlobalSettings Service in a CI/CD flow:

5. Recipe allergens research / diet type:

  • Allow the user to search by event
    • When searching, the recipe card information must be presented over to the user
      • The columns to show are the following:
        • Recipe ID
        • Recipe or Sub-Recipe
        • Recipe Name
        • Recipe Description
        • Recipe Dietary Restriction
        • Ingredient ID
        • INgredient Item
        • Ingredient Allergens
      • Allow the user to search for an specific recipe or ingredient:
        • If the user types in "garlic" for example, then only the recipe card (recipe & ingredient) information pertinent to garlic must show for that single event.