NGB Platform v3.1.0 is out, introducing Attachments & Notes — a new platform-level capability for managing files and notes associated with business objects.
The implementation follows an important architectural principle in NGB: adding a file or editing a note should not modify the underlying business document.
Why independent lifecycle matters
In document-driven business applications, posting a document can produce operational, reference, or accounting effects.
But what happens when someone needs to attach a supporting PDF or add a note to an already posted document?
Those operations shouldn't require unposting the document, modifying its version, or recalculating its business effects.
In NGB, Attachments and Notes have their own lifecycle, completely independent of the parent object's posting state and business effects.
What's included in v3.1.0
- Attachments: Upload, download, and mark files for deletion.
- Notes: Create, edit, and logically delete plain-text notes.
- Audit Log integration: Track changes, review previous note content, and access retained attachments, even after logical deletion.
- Permissions: Separate access controls for attachments and notes.
- Platform-wide support: Available for catalogs, documents, and General Journal Entries.
The same capabilities work across all four NGB verticals: Property Management, Trade, Agency Billing, and CRM.
A few implementation details
Attachments use MinIO object storage, with short-lived presigned URLs for direct file transfers.
Notes are stored separately and use their own versioning for concurrency control.
Deletion is logical. Content disappears from active lists, but the audit history is preserved. Completed attachments remain available through the Audit Log with appropriate permissions.
Neither capability changes the parent object's version, posting state, accounting entries, or register movements.
Short demo
Here's a quick walkthrough of the functionality in action:
NGB is an open-source platform built with .NET 10 and PostgreSQL for developing document-driven business applications.
Source code: https://github.com/ngbplatform/NGB
Website: https://ngbplatform.com
Documentation: https://docs.ngbplatform.com
Top comments (0)