๐Ÿ“‹

USDA Audit Documentation

Complete compliance documentation for NOP auditors

For USDA NOP Auditors

This document provides technical details about how Organiko.ai ensures compliance with USDA National Organic Program (NOP) requirements for organic product traceability and record keeping.

This is a reference for auditors, certification bodies, and compliance officers who need to verify that businesses using Organiko.ai meet NOP ยง 205.201 and ยง 205.300 standards.

Regulatory Compliance Overview

USDA NOP ยง 205.201 - Record Keeping Requirements

Organiko.ai fulfills all requirements under ยง 205.201:

  • โœ“3 years accessible + 2 years additional: All records retained for 7 years (exceeds requirement)
  • โœ“Complete audit trail: Every transaction logged with timestamp, user, and source document
  • โœ“Immediate access: Reports generated in seconds for inspector review
  • โœ“Secure storage: Immutable database records prevent tampering

USDA NOP ยง 205.300 - Supplier Certification

Organiko.ai tracks supplier certification status:

  • โœ“Certificate upload: Store supplier organic certificates with expiry tracking
  • โœ“Expiry alerts: Automatic notifications 90, 60, and 30 days before expiry
  • โœ“Traceability: Every organic lot linked to supplier certificate number
  • โœ“Verification: Supplier certification report shows all active and expired certificates

System Architecture & Data Flow

Core Data Model

Organiko.ai uses a relational database with the following key tables:

inbound_documents (Purchase Orders)

Synced from QuickBooks, ERPNext, Xero, etc. Contains supplier info, PO lines, quantities, prices

outbound_documents (Sales Orders)

Synced from Shopify, WooCommerce, Amazon, etc. Contains customer info, SO lines, quantities

organic_lots

Created when user certifies PO. Contains lot_number, expiry_date, supplier_id, source PO

inventory_adjustments (Audit Trail)

Immutable table - every organic transaction (receipt, sale, adjustment) recorded here

suppliers

Contains organic_cert_number, cert_expiry_date, uploaded certificate files

Data Flow: Purchase to Sale

  1. 1. Sync: Purchase order synced from accounting system โ†’ inbound_documents table
  2. 2. Detection: Organic items detected by keyword scanning โ†’ user notified
  3. 3. Certification: User adds lot_number and expiry_date โ†’ organic_lots table created
  4. 4. Receipt: If marked "delivered" โ†’ inventory_adjustments entry (type: receipt, +quantity)
  5. 5. Sales Sync: Sales order synced from e-commerce โ†’ outbound_documents table
  6. 6. Allocation: Automatic or manual allocation โ†’ inventory_adjustments entry (type: sale, -quantity)
  7. 7. Traceability: inventory_adjustments links SO โ†’ lot โ†’ PO โ†’ supplier (full chain)

Lot Traceability Verification

Forward Trace (Supplier โ†’ Customer)

Auditors can trace a specific lot forward to see all sales:

SELECT
  so.external_order_number AS sales_order,
  so.customer_name,
  ia.quantity_change AS quantity_sold,
  so.order_date
FROM
  organic_lots lot
  JOIN inventory_adjustments ia ON ia.lot_id = lot.id
  JOIN outbound_documents so ON so.id = ia.source_document_id
WHERE
  lot.lot_number = 'LOT-2025-001'
  AND ia.adjustment_type = 'sale'
ORDER BY
  so.order_date;

Backward Trace (Customer โ†’ Supplier)

Auditors can trace a specific sales order back to the supplier:

SELECT
  so.external_order_number AS sales_order,
  so.customer_name,
  lot.lot_number,
  lot.expiry_date,
  supplier.name AS supplier_name,
  supplier.organic_cert_number,
  po.external_document_number AS purchase_order
FROM
  outbound_documents so
  JOIN inventory_adjustments ia ON ia.source_document_id = so.id
  JOIN organic_lots lot ON lot.id = ia.lot_id
  JOIN suppliers supplier ON supplier.id = lot.supplier_id
  JOIN inbound_documents po ON po.id = lot.source_document_id
WHERE
  so.id = 'sales_order_uuid';

Result: Complete chain showing SO โ†’ Lot โ†’ PO โ†’ Supplier with certification number

Mass Balance Calculation

Formula

Beginning + Purchases - Sales - Adjustments = Ending

Calculation Logic

  1. Beginning Inventory: Sum of inventory_adjustments (type: receipt) before period start
  2. Purchases: Sum of inventory_adjustments (type: receipt) during period
  3. Sales: Sum of inventory_adjustments (type: sale, quantity_change negative) during period
  4. Adjustments: Sum of inventory_adjustments (type: adjustment) during period
  5. Calculated Ending: Beginning + Purchases - Sales - Adjustments
  6. Actual Ending: Current inventory (sum of all adjustments to date)
  7. Variance: ((Actual - Calculated) / Calculated) ร— 100

Acceptable Variance: USDA allows ยฑ5% variance due to spillage, evaporation, and measurement tolerances

FEFO (First-Expired-First-Out) Allocation

Algorithm

When allocating sales orders, Organiko.ai automatically sorts available lots by expiration date (ascending):

SELECT
  id,
  lot_number,
  expiry_date,
  current_quantity
FROM
  organic_lots
WHERE
  item_sku = 'ORG-ALM-001'
  AND current_quantity > 0
  AND expiry_date > CURRENT_DATE
ORDER BY
  expiry_date ASC;

The lot that expires soonest is allocated first, ensuring older inventory is sold before newer inventory.

Compliance Note: FEFO is not explicitly required by USDA NOP but is considered best practice for inventory management and product freshness

Immutable Audit Trail

Database Design for Integrity

The inventory_adjustments table is append-only:

  • โœ“No updates allowed: Once a record is created, it cannot be modified
  • โœ“No deletions allowed: Records are never removed from the table
  • โœ“Timestamp on every record: created_at timestamp (UTC) for chronological ordering
  • โœ“User tracking: created_by_user_id links to the user who performed the action
  • โœ“Source document linkage: Every adjustment links to source PO or SO

Result: Complete, tamper-proof audit trail showing every organic transaction from receipt to sale

Data Retention Policy

Organiko.ai retains all records for 7 years, exceeding USDA's 5-year requirement (3 years accessible + 2 years additional).

What is Retained:

  • โ€ข All purchase orders and sales orders
  • โ€ข All organic lot records with certification dates
  • โ€ข Complete inventory adjustment history
  • โ€ข Supplier information and certificate uploads
  • โ€ข User actions and timestamps

Access During Retention:

  • โ€ข Years 1-3: Immediate access via web interface
  • โ€ข Years 4-7: Available upon request (48-hour retrieval from archive)

Auditor Verification Checklist

Use this checklist to verify compliance during an audit:

Generate Full Audit Package for review period

Verify all documents are included and properly dated

Review Mass Balance Report

Verify variance is within ยฑ5% for all SKUs

Test 5 random tracebacks (sales order โ†’ supplier)

Verify complete chain of custody for each

Review Supplier Certification Report

Verify all suppliers have current organic certificates

Verify audit trail integrity

Check timestamps, user attribution, and no gaps in transaction log

Review FEFO allocation

Verify sales orders are allocated from oldest lots first

Check data retention compliance

Verify records are accessible for 7 years

For Auditors and Certification Bodies

If you are conducting an audit of a business using Organiko.ai and need:

  • โ€ข Technical documentation about our compliance systems
  • โ€ข Direct access to verify database integrity
  • โ€ข Clarification on any compliance features
  • โ€ข Custom report formats for your certification body

Please contact our compliance team:

Email: compliance@organiko.ai

Phone: 1-800-ORGANIC (24/7 audit support)

Response Time: Within 4 hours during business hours