Skip to content

About

**in development** BrassLedger is an open-source cross-platform accounting and business management system for general ledger, receivables, payables, payroll, operations, reporting, tax workflows, and printable business forms.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

 

History

30 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

BrassLedger

BrassLedger is an open-source cross-platform accounting and business management system for organizations that need general ledger, receivables, payables, payroll, projects, reporting, tax workflows, and printable business forms in one application.

The current public prerelease is v0.1.0-pre.6.

License: GPL-3.0-only. See LICENSE.

Why BrassLedger

BrassLedger is intended for teams that want a modern, open-source financial operations platform without locking their business into a proprietary desktop stack. The application is built to support daily accounting work, period close, payroll review, operational documents, tax-facing output, labels, checks, and other fixed-layout business forms.

The current end-user application is BrassLedger.Web, delivered as a cross-platform .NET application with installers for Windows, macOS, and Linux.

What the application includes

  • General ledger workspaces for journal activity, balances, and month-end review
  • Receivables support for customer invoices, statements, balances, and cash application
  • Payables support for vendor bills, approvals, due-date review, and disbursement preparation
  • Operations workspaces for inventory, order flow, purchasing, fulfillment, and operational forms
  • Payroll support for employee records, pay processing, liability review, and year-end forms
  • Project and job tracking for cost visibility and work-in-progress review
  • Reporting support for financial statements, checks, paychecks, labels, shipment forms, and management output
  • Tax workspaces for federal, state, and employer-specific tax profile review

Download and quick start

Current prerelease installers are available for:

  • Windows x64
  • macOS Intel
  • macOS Apple silicon
  • Linux amd64

On first launch of a brand-new installation, BrassLedger opens a first-time setup flow so you can create the initial company and administrator account without editing configuration files by hand. Installed desktop launches also choose an available local loopback port automatically, so they do not depend on 127.0.0.1:5000 being free.

How to use BrassLedger

Start with these guides:

Module-by-module usage links:

Specialized documentation:

Security baseline

The current application includes:

  • authenticated access before accounting data loads in the web app or API
  • password hashing through ASP.NET Core Identity primitives
  • durable named browser sessions, individual and all-other-session revocation, and immutable authentication audit events
  • temporary lockout plus per-network login throttling for browser and API sign-in
  • membership-aware session validation for company-specific roles and permissions
  • RFC 6238 authenticator MFA, hashed one-use recovery codes, bounded login challenges, replay prevention, MFA lockout, configurable privileged-role enforcement, and controlled administrator-assisted recovery
  • expiring one-use operator invitations, verified-email enrollment, enumeration-resistant password recovery, protected SMTP outbox delivery, and administrative retry visibility
  • protection of sensitive fields at rest with ASP.NET Core Data Protection
  • QuickBooks Online OAuth with protected rotating tokens, expiring cross-instance credential-operation leases, company validation, confirmed revocation, and dry-run-first inbound account/customer/vendor synchronization
  • persisted application key material under App_Data\keys
  • security headers in the web application and API
  • first-run administrator setup through the built-in setup flow for non-development installs

Passkeys remain desirable future phishing-resistant authentication. Before live production use, each deployment must configure and operationally verify its own HTTPS public URL, SMTP provider, mailbox delivery, DNS authentication, secret management, backup and recovery, access control, administrator identity-verification procedure, and deployment procedures.

Build, test, and publish

Helpful maintainer commands:

dotnet build .\BrassLedger.slnx
dotnet test .\BrassLedger.slnx -nr:false
.\publish-brassledger.ps1 -Runtime win-x64
.\publish-brassledger.ps1 -Runtime osx-x64
.\publish-brassledger.ps1 -Runtime osx-arm64
.\publish-brassledger.ps1 -Runtime linux-x64
.\run-ui-tests.ps1 -InstallBrowsers
.\run-ui-tests.ps1 -UpdateBaselines

Additional maintainer documentation:

Release automation is handled by .github/workflows/release-installers.yml, which builds installer assets for Windows, macOS Intel, macOS Apple silicon, and Linux and attaches them to tagged prereleases and releases.

Repository layout

  • BrassLedger.Domain: core business entities
  • BrassLedger.Application: application-facing contracts and models
  • BrassLedger.Infrastructure: authentication, persistence, security, and service implementations
  • BrassLedger.Api: API endpoints
  • BrassLedger.Web: end-user application
  • docs: installation, usage, reporting, administration, and publishing guides

Source-controlled web assets belong under BrassLedger.Web/wwwroot. Generated publish output stays under artifacts and remains ignored by Git.

About

**in development** BrassLedger is an open-source cross-platform accounting and business management system for general ledger, receivables, payables, payroll, operations, reporting, tax workflows, and printable business forms.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages