Barkly Financial Transparency System
Functional Requirements — Draft 0.1
Purpose: Provide Barkly Labs with a human-readable, auditable system for importing financial documents, extracting structured financial records, requiring human verification, and automatically publishing approved financial information to the public website.
Core idea: Upload once → understand → verify → publish → automatically update.
01 — Document Intake
FR-001 — Upload Financial Documents
The system SHALL allow authorized Barkly administrators to upload financial documents.
Supported formats SHOULD include:
CSV
XLSX
TXT
JSON
image-based documents where practical
FR-002 — Preserve Original Documents
The system SHALL retain the original uploaded document as the source record.
The original document SHALL NOT be modified during extraction.
FR-003 — Document Metadata
Each uploaded document SHALL receive metadata including:
document ID
upload timestamp
document type
reporting period
source
processing status
verification status
02 — Document Understanding
FR-004 — Extract Financial Records
The system SHALL attempt to identify financial information from uploaded documents.
Possible records include:
income
donations
grants
sponsorships
expenses
purchases
reimbursements
transfers
fees
refunds
FR-005 — Normalize Records
Extracted information SHALL be converted into a consistent internal representation.
Example:
{
"id": "txn-2026-0001",
"date": "2026-09-28",
"type": "expense",
"category": "equipment",
"amount": 842.17,
"currency": "USD",
"description": "Development hardware",
"source_document": "invoice-2026-09-28.pdf"
}
FR-006 — Extraction Confidence
The system SHOULD indicate when extracted information is uncertain.
For example:
Amount $842.17 ✓
Date 09/28/2026 ✓
Category Equipment ✓
Description Hardware ?
The system SHALL NOT silently invent missing financial information.
03 — Human Verification
FR-007 — Human Review Required
Extracted financial records SHALL NOT automatically become public records.
An authorized human SHALL be able to review the extracted information before publication.
FR-008 — Edit Extracted Records
The reviewer SHALL be able to correct:
dates
amounts
categories
descriptions
document associations
record types
FR-009 — Approve Records
The reviewer SHALL be able to mark records as:
Pending
Reviewed
Approved
Rejected
Needs Correction
FR-010 — Preserve Review History
The system SHOULD maintain an audit trail showing:
what changed
when it changed
who approved it
previous values where appropriate
04 — Financial Data Model
FR-011 — Canonical Financial Record
Every approved transaction SHOULD conform to a common schema.
Minimum fields:
ID
Date
Type
Amount
Currency
Category
Description
Source Document
Status
Optional fields MAY include:
Project
Funding Source
Vendor
Grant
Receipt
Invoice
Notes
Reporting Period
05 — Public Transparency
FR-012 — Public Financial Dataset
Approved records SHALL be available through a public-facing financial transparency interface.
FR-013 — Human-Readable Presentation
The public interface SHOULD provide:
total income
total expenses
current balance where appropriate
spending categories
funding sources
reporting periods
individual approved records
FR-014 — Raw Data Access
The system SHOULD provide downloadable machine-readable data such as:
financials.json
financials.csv
This allows other people to independently analyze or visualize Barkly's public financial information.
06 — Automatic Website Generation
FR-015 — Financial Page Generation
The public financial webpage SHALL be generated from the structured financial dataset rather than requiring manual editing of individual webpage entries.
FR-016 — Automatic Updates
When approved financial records are added or modified, the public financial interface SHOULD update automatically during the next deployment/build.
New Document
↓
Extraction
↓
Human Approval
↓
financials.json
↓
Astro Build
↓
Updated Public Page
FR-017 — No Duplicate Data Entry
Administrators SHOULD NOT have to manually enter the same financial information into both the financial system and the website.
The structured financial record SHALL be the source of truth.
07 — Privacy & Safety
FR-018 — Public/Private Separation
The system SHALL distinguish between information required for financial transparency and information that should remain private.
The public system SHALL NOT expose sensitive information such as:
bank account numbers
passwords
authentication credentials
private addresses
payment-card information
unnecessary personal information
FR-019 — Public Redaction
The system SHOULD support redaction or exclusion of sensitive fields before publication.
FR-020 — Original Document Protection
Original financial documents MAY contain information that cannot be publicly released.
The system SHALL allow the public record to contain a sanitized representation rather than exposing the original document.
08 — Auditability
FR-021 — Source Traceability
Every published financial record SHOULD be traceable back to its source document.
Public Transaction
↓
Record ID
↓
Source Document
↓
Original Evidence
FR-022 — Immutable Published History
Once a financial reporting period has been formally published, changes SHOULD be recorded rather than silently overwriting history.
For example:
Original:
$842.17
Correction:
$847.17
Reason:
Invoice transcription correction
09 — Accessibility
FR-023 — Human-First Interface
The financial interface SHALL prioritize human comprehension over accounting complexity.
FR-024 — Accessible Presentation
The public interface SHOULD support:
keyboard navigation
screen readers
readable typography
sufficient contrast
responsive layouts
plain-language explanations
accessible tables
downloadable data
FR-025 — Explain the Numbers
The system SHOULD explain financial categories and summaries in ordinary language.
Not merely:
Operating Expenses: $4,281.19
but:
Operating expenses — $4,281.19 Money spent keeping Barkly Labs running, including hosting, supplies, software, and administrative costs.
10 — Automation
FR-026 — Processing Pipeline
The system SHOULD support an automated pipeline:
INGEST
↓
PARSE
↓
EXTRACT
↓
NORMALIZE
↓
VALIDATE
↓
HUMAN REVIEW
↓
APPROVE
↓
PUBLISH
FR-027 — Processing Status
Documents SHOULD expose their current state:
UPLOADED
PROCESSING
EXTRACTED
NEEDS REVIEW
APPROVED
PUBLISHED
ARCHIVED
FR-028 — Failure Visibility
If processing fails, the system SHALL clearly explain that processing failed.
It SHALL NOT silently discard the document.
11 — Barkly Standard Requirements
FR-029 — Transparency
Financial information intended to demonstrate organizational accountability SHALL be publicly accessible in an understandable form.
FR-030 — Human Oversight
Automation SHALL assist financial documentation but SHALL NOT replace human responsibility for publication.
FR-031 — Understandability
Financial information SHALL be presented so that a person without accounting expertise can reasonably understand it.
FR-032 — Reproducibility
The public financial dataset SHOULD allow another person to reproduce the major published totals.
FR-033 — Open Data
Where legally and practically appropriate, financial data SHOULD be published in open machine-readable formats.
FR-034 — No Hidden Automation
Automated extraction SHALL be distinguishable from human verification.
12 — Future Extensions
These are not required for 0.1, but the architecture SHOULD leave room for:
automatic receipt OCR
bank-feed imports
accounting-software imports
grant tracking
project budgets
donation tracking
recurring expenses
financial dashboards
yearly reports
PDF annual-report generation
public API
JSON Schema
automated consistency checks
anomaly detection
multi-organization support