Skip to content

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:

  1. Fetches all compliance lots from Odoo matching the filter criteria.
  2. Fetches all items from FastBound matching the status filter (paginated in batches of 500).
  3. 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:

  1. Collects FastBound item IDs for all found/verified items.
  2. Sends them to FastBound's BulkVerify endpoint with the current date.
  3. Updates each audit line status to Verified in FB.
  4. 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