FastBound Reporting Module¶
Technical name: fastbound_reporting
Version: 18.0.1.0.0
Category: Inventory / Compliance
Dependencies: fastbound_core, fastbound_acquisition, fastbound_disposition, stock
The Reporting module provides compliance reporting, inventory reconciliation, and audit tools that compare your Odoo inventory against FastBound's records.
Available Reports¶
Stock Comparison Report¶
The stock comparison report answers the question: "Does my Odoo inventory match what FastBound says I have?"
Navigate to FastBound > Reports > Stock Reports and click New.
Configuration¶
| Field | Description |
|---|---|
| Report Name | Auto-generated with timestamp; editable |
| FastBound Account | Which FastBound configuration to compare against |
| Status Filter | Filter which items to include |
Status Filter Options¶
| Filter | Description |
|---|---|
| All Items | Compare everything -- available, pending, and disposed |
| Available (In Stock) | Only items currently in inventory (status = 1) |
| Pending Disposal | Only items awaiting disposition (status = 2) |
| Disposed | Only disposed items (status = 3) |
Daily Use
For routine compliance checks, run the report with Available (In Stock) to verify your on-hand inventory matches FastBound. Use All Items for a comprehensive reconciliation.
Generating the Report¶
Click Generate Report. The module:
- Fetches all compliance lots from Odoo matching the filter criteria.
- Fetches all items from FastBound matching the status filter (paginated in batches of 500).
- Matches items using a three-pass algorithm:
- Pass 1: Match by FastBound Item ID (exact UUID match).
- Pass 2: Match by serial number (case-insensitive).
- Pass 3: Identify unmatched items on each side.
Report Results¶
Each line in the report shows:
| Column | Description |
|---|---|
| Match Status | Matched, Data Mismatch, Odoo Only, or FastBound Only |
| Odoo Serial | Serial number from Odoo |
| Odoo Product | Product template from Odoo |
| Odoo Disposed | Disposition status in Odoo |
| FB Serial | Serial number from FastBound |
| FB Item Number | A&D book number from FastBound |
| FB Manufacturer | Manufacturer from FastBound |
| FB Model | Model from FastBound |
| FB Caliber | Caliber from FastBound |
| FB Status | FastBound status (Available, Pending, Disposed) |
| Mismatch Details | Description of what does not match |
Match Statuses¶
| Status | Color | Meaning |
|---|---|---|
| Matched | -- | Item exists in both systems with consistent data |
| Data Mismatch | Yellow | Item found in both systems but data differs (e.g., disposed in one but not the other) |
| Odoo Only | Orange | Item exists in Odoo but not in FastBound |
| FastBound Only | Red | Item exists in FastBound but not in Odoo |
Summary Statistics¶
The report header displays:
| Statistic | Description |
|---|---|
| Odoo Item Count | Total compliance lots in Odoo |
| FastBound Item Count | Total items fetched from FastBound |
| Matched Items | Items found in both systems |
| Odoo Only | Items only in Odoo |
| FastBound Only | Items only in FastBound |
| Discrepancies | Total items with mismatches or missing from one side |
Resolving Discrepancies¶
For FastBound Only items, two resolution actions are available:
| Action | Description |
|---|---|
| Link to Odoo | Searches for a matching Odoo lot by serial number and links it to the FastBound item |
| Create Odoo Lot | Opens the lot creation form pre-filled with FastBound data (serial, item ID, item number) |
For Odoo Only items, click View Odoo Lot to open the lot form and investigate why it is not in FastBound (typically an item that was never acquired through the FastBound workflow).
Viewing Discrepancies¶
Click View Discrepancies to filter the report lines to only show items with match issues -- useful for quickly focusing on items that need attention.
Product Inventory Report¶
The product inventory report aggregates your FastBound inventory by product attributes, giving you a high-level view of what you have in stock.
Navigate to FastBound > Reports > Product Reports and click New.
Configuration¶
| Field | Description |
|---|---|
| Report Name | Auto-generated with timestamp; editable |
| FastBound Account | Which FastBound configuration to report on |
| Group By | How to aggregate items |
| Status Filter | Which FastBound statuses to include |
Grouping Options¶
| Group By | Example Output |
|---|---|
| Manufacturer | Glock: 45 items, Ruger: 32 items |
| Item Type | Pistol: 60 items, Rifle: 38 items |
| Caliber | 9mm: 42 items, .45 ACP: 18 items |
| Manufacturer + Type | Glock - Pistol: 40 items, Ruger - Rifle: 12 items |
| Manufacturer + Model | Glock 19: 15 items, Glock 17: 10 items |
Report Results¶
Each line shows:
| Column | Description |
|---|---|
| Group | The grouping key (manufacturer, type, etc.) |
| Total Items | Number of items in this group |
| Available | Items currently in stock |
| Pending | Items awaiting disposition |
| Disposed | Items already disposed |
| Total Value | Sum of acquisition costs (from Odoo lot data) |
| Available % | Percentage of items that are currently available |
Lines are sorted by total item count (highest first) so you can quickly see your most stocked categories.
Drill-Down¶
Click on any report line to View Items -- this opens a filtered list of stock.lot records matching the group criteria, letting you drill from summary to individual serials.
Serial Audit¶
The serial audit tool supports physical inventory counts of your compliance items. It provides a structured workflow for scanning serial numbers, identifying missing or extra items, and optionally verifying inventory in FastBound.
Navigate to FastBound > Reports > Serial Audits and click New.
Audit Configuration¶
| Field | Description |
|---|---|
| Audit Reference | Auto-generated with timestamp; editable |
| FastBound Account | Configuration to audit against |
| Warehouse | Optionally limit audit to a specific warehouse |
| Audit Scope | What items to include |
| Days Since Verified | For "Not Recently Verified" scope |
| Auditor | User performing the audit |
Audit Scope Options¶
| Scope | Description |
|---|---|
| All Compliance Items | Every compliance lot in Odoo |
| Available Items Only | Only items not marked as disposed |
| Not Recently Verified | Items not verified within the specified number of days |
Audit Lifecycle¶
stateDiagram-v2
[*] --> Draft
Draft --> "In Progress" : Start Audit
"In Progress" --> "Pending Review" : Submit for Review
"Pending Review" --> Verified : Verify in FastBound
"Pending Review" --> Completed : Complete Audit
Verified --> Completed : Complete Audit
"In Progress" --> Cancelled : Cancel
Cancelled --> Draft : Reset to Draft
Step-by-Step Audit Process¶
1. Start the Audit¶
Click Start Audit to load all expected items from Odoo based on your scope settings. Each compliance lot becomes an audit line in Pending status.
2. Scan Serial Numbers¶
Scan serial numbers using a barcode scanner or enter them manually. The system processes each scan:
| Result | Meaning | Action |
|---|---|---|
| Found | Serial matches an expected item | Line marked as found with timestamp and user |
| Duplicate | Serial was already scanned | Warning notification |
| Extra (Odoo) | Serial exists in Odoo but was not in audit scope | Added as an extra line |
| Extra (Unknown) | Serial not found in Odoo at all | Added as an extra line with a note |
3. Mark Remaining as Missing¶
Click Mark Remaining Missing to flag all unscanned items as missing. This is typically done after you have scanned every item on the shelf.
4. Submit for Review¶
Click Submit for Review to move the audit to review state. If not all items have been scanned, remaining items are automatically marked as missing.
5. Verify in FastBound¶
Click Verify in FastBound to call the PUT /Inventory/BulkVerify API endpoint. This:
- Collects FastBound item IDs for all found/verified items.
- Sends them to FastBound's BulkVerify endpoint with the current date.
- Updates each audit line status to Verified in FB.
- Records the verification date on each lot.
ATF Compliance
FastBound's BulkVerify endpoint records the verification date in your electronic A&D book, demonstrating to ATF auditors that you performed a physical inventory count.
6. Complete the Audit¶
Click Complete Audit to finalize. If there are discrepancies (missing or extra items), the module automatically creates an activity (to-do) alerting the admin to review the results.
Audit Summary Statistics¶
| Statistic | Description |
|---|---|
| Expected Items | Number of items in the audit scope |
| Scanned Items | Number of items found during scanning |
| Verified Items | Number verified in FastBound |
| Missing Items | Expected items that were not found |
| Extra Items | Items found but not expected |
| Completion % | Percentage of expected items that were scanned |
| Has Discrepancies | Flag set when missing or extra items exist |
Quick Filters¶
| Button | Shows |
|---|---|
| View Missing | Only items with "Missing" status |
| View Extra | Only items flagged as extra |
Bound Book Download¶
The bound book can be downloaded directly from the FastBound configuration page. Navigate to FastBound > Configuration, open your active configuration, and click Download Bound Book.
This calls POST /Downloads/BoundBook which generates a PDF of your official ATF Acquisition & Disposition record. The file opens in a new browser tab for download or printing.
Reconciliation Tools¶
Automated Daily Reports¶
A daily cron job automatically generates a stock comparison report for each active FastBound configuration. Reports are created with the Available (In Stock) filter so you can quickly review any discrepancies first thing each morning.
The job runs automatically and creates reports named "Daily Stock Report YYYY-MM-DD."
Audit Reminders¶
A weekly cron job checks whether a serial audit has been completed within the last 30 days for each active configuration. If no recent audit is found, it creates a to-do activity for the system administrator as a reminder.
Stock Lot Sync¶
The stock.lot model in the reporting module includes a last_verified_date field. This date is updated when:
- A serial audit verifies the item in FastBound.
- The item is manually verified through the lot form.
This field is used by the "Not Recently Verified" audit scope to identify items that have not been physically counted in a while.
Report Lifecycle¶
All reports follow the same state pattern:
| State | Description |
|---|---|
| Draft | Report created, not yet generated |
| In Progress | Generation is running |
| Completed | Report generated successfully |
| Error | Generation failed (error message saved) |
Reports can be reset to draft and regenerated. The Reset to Draft button clears existing lines and the error message, allowing you to re-run with different filters.
Scheduled Actions¶
| Job | Default Interval | Purpose |
|---|---|---|
| Daily Stock Report | Daily | Auto-generates Odoo-vs-FastBound comparison |
| Audit Reminder | Weekly | Notifies admin if no serial audit in 30 days |
| Sync Verification Status | -- | Placeholder for future verification date sync |