Current Release Features
Release Details
Current Release: 6.3.0.0
Version 6.3.0.0
- Web Services & Scheduled Services Module (New):
- Full RESTful data API (GET/POST/PUT/DELETE) with configurable entity endpoints
- Scripted API system — custom C# endpoints compiled at runtime via Roslyn
- Scheduled background services with orchestrated lifecycle management
- Subscriber access control and per-endpoint authentication
- Anonymous endpoint support for public-facing integrations
- Built on .NET 10
- See #Web Services & Scheduled Services section below for full details
Version 6.2.0.2
- Department Enhancements: Improved department code handling and error reporting
- BCTI Document Function: Updated document function to better handle Buyer Created Tax Invoice generation
- Chromium Removal: Removed embedded Chromium dependency; critical software versions bumped
Version 6.2.0.0
- SyncFusion Removal: Removed SyncFusion component library
- Migrated GridView controls to WPF DataGrid
- Integrated WPFUI library for modern UI components
- Updated NumberBox usage to align with new library
- Updated GemBox license keys
- Debug Email Mode: Added debug email mode for troubleshooting email delivery
- Department User Fields: Additional user fields available at department level
- UI & Wizard Options: General UI and wizard option refinements
- Supplier Category/Type Support: Added supplier category and type classification with UI improvements
- Other Party Contact Methods: Refactored Other Party contact methods with ComboBox support
- Statement Aging: Refactored statement aging logic for out-of-period allocations
- Registry Item Handling: Refactored AddRegistryItem to return BoolReturn with status for improved error handling
Version 6.1.16.3 Pre Release
- Graph Updates: Updated graph components
- Warning Cleanup: General codebase warning cleanup and tidy-up
Version 6.1.16.2
ZinMessageBox: Added custom message box component for runtime scripting to allow for custom 'tri button' layouts and new custom icons.
- Document Scripting: Message box now available to runtime document scripts via Business Layer
- General tweaks and refinements
- Statement Generation Improvements:
- Major SQL and CTE optimizations for faster, more accurate financial statements
- Fixed transaction allocation logic to properly handle bidirectional allocations
- Improved running balance calculations for aged arrears
- Enhanced deduplication strategies to prevent duplicate transactions in statements
- Better handling of current month transactions vs historical aging buckets
Version 6.1.16.1
- Progress Bar Improvements: Updated progress bar to handle child loops and display status correctly for better user feedback during long operations (Allows for more complex looping within runtime scripting)
Version 6.1.16.0
- Departments Launch: Added department management functionality (moved away from Zinform 5)
- BCTI Enhancements: Changes to enhance BCTI (Buyer Created Tax Invoice) Generation
- Document Functions: Updated and improved document functions
- Customer/Supplier Display Fixes: Fixed display of customers and suppliers for statements and documents
- License Management Fix: Fixed opening organization license on first requirement
- Connection Handling: Fixed cancel connection functionality
Version 6.1.15.0
- General Document Wizard Enhancements: Added features to publish general documents with improved functionality
- Invoice Statement Support: Updates to support comprehensive invoice statements
- Code Cleanup: Tidied warnings throughout the codebase
Version 6.1.14.1 Release Features:
Document Manager:
- Advanced Scripting via new Business Layer.
User Manager:
- Additional Roles and Permissions available to the new Business Layer
Organisation Settings:
- Logo
- Postal and Physical Address for Documents
- Default Bank Account
- Advanced Invoice Settings
- Microsoft Graph Email Sending via Entra App.
- SMTP Settings
Bank Manager:
- Management of Bank Accounts
- Bank Account Import Settings
- ANZ
- BNZ
- Westpac
- ASB (In Active Development)
- Kiwibank (In Active Development)
Import File Admin
- Generic CSV Import To allow for CSV/XLSX/JSON/XML file import to AP Invoice.
Import PDF Admin (AI Enabled - Special License Required)
- Reading of PDF AP Invoices Direct to AP Batch.
- Scripting to Control Every Aspect.
- Multi Page, Complex or Simple Invoices are handled quickly saving time on data import.
Departments Admin
- Management of Departments away from Zinform 5
- Additional Code Support to allow for up to 5 Codes
- Eg: Could be used to track Registration Number of a Vehicle to A Department, Trailers, ID Numbers etc for AP Invoices etc.
Web Services & Scheduled Services
ASP.NET Core Web API built on .NET 10, hosted as a Windows Service, providing external API access to Zinform data and a runtime scripting platform for custom integrations and scheduled tasks.
Data API
Full CRUD RESTful API with configurable entity endpoints:
- Entity Endpoints: Expose any Zinform database entity via configurable route aliases (e.g.
/api/data/customers,/api/data/invoices) - Per-Endpoint Access Control: Each endpoint individually configurable for Read, Create, Update, and Delete permissions
- Paging & Sorting: Built-in pagination with configurable max page sizes, multi-field ordering (ascending/descending)
- Filtering: Query string filters (
?filter.Name=Smith) and advanced POST query with operators including eq, neq, gt, gte, lt, lte, contains, startswith, endswith, between, in, isnull, isnotnull - Nested Filter Logic: AND/OR filter groups with nested sub-groups for complex queries
- Field Selection: Request specific fields to reduce payload size
- Endpoint Discovery:
GET /api/datalists all available enabled endpoints with their permissions
Scripted API
Custom API endpoints powered by Roslyn C# runtime compilation:
- Custom Endpoints: Define custom routes (e.g.
/api/script/myintegration) with C# script bodies compiled and cached at runtime - ImportScripter Pattern: Scripts follow the same
ImportScripterclass pattern used in the Zinform desktop application for consistency - Full Business Layer Access: Scripts receive a
BusinessLayerMaininstance providing full access to all Zinform business logic - Request/Response Model: Custom
ZinHttpRequest/ZinHttpResponseobjects with access to query parameters, JSON body, headers, and authenticated user identity - Per-Method Control: Each scripted endpoint configurable for specific HTTP methods (GET, POST, PUT, DELETE)
- Script Caching: Compiled scripts are cached with SHA256 hash-based invalidation — scripts recompile automatically when updated
- Endpoint Discovery:
GET /api/scriptlists all available scripted endpoints with descriptions
Script Execution API
Direct script execution endpoint for ad-hoc or remote scripting:
- Remote Script Execution: POST C# scripts to
/api/script/executefor server-side execution - ZinParameters Support: Pass key/value parameters to scripts, matching the desktop runner interface
- Timeout Control: Configurable execution timeout (up to 5 minutes) with cancellation support
- Structured Results: Returns success/failure status, output, error detail, and execution duration
Scheduled Background Services
Orchestrated background task system driven by database-stored service definitions:
- Service Orchestrator: Master hosted service that manages the lifecycle of all background workers
- Dynamic Configuration: Service definitions stored in the database — add, update, enable, or disable services without restarting the application
- Automatic Change Detection: Polls DB every 60 seconds for definition changes; workers are started, stopped, or restarted as needed using RowVersion tracking
- Roslyn Script Execution: Each service runs a C# script body with full Business Layer access
- Run Tracking: Automatic tracking of run count, fail count, last run time, last output/error, and next scheduled run
- User Data Fields: Five custom user data fields (User0–User4) per service definition for script-accessible configuration
Trigger Types:
- Timer Trigger: Configurable interval-based triggers with:
- Interval in seconds (e.g. every 5 minutes)
- Optional initial delay before first execution
- Business hours window (e.g. only fire between 8am–6pm)
- Folder Watch Trigger: Monitor a folder for new or changed files and trigger service execution automatically
- Email Trigger: Monitor an inbox for incoming emails and trigger service execution on receipt
Authentication
Multi-provider authentication supporting:
- Local JWT: Username/password authentication via
/api/auth/login - Microsoft Entra ID: Azure AD / Entra ID OAuth2
- Google OAuth: Google account authentication
- Generic OAuth: Configurable custom OAuth2 provider
- API Key: Static API key authentication via
X-Api-Keyheader for legacy/simple integrations - Anonymous: Unauthenticated access for public endpoints
- Per-Endpoint Auth Schemes: Each data and scripted endpoint can specify which authentication schemes are accepted
Subscriber Access Control
- Subscriber Middleware: Validates subscriber keys and stores subscriber context for downstream use
- Per-Endpoint Subscriber Permissions: Subscribers can be granted access to specific data endpoints and scripted endpoints independently
- Encrypted Subscriber Keys: Subscriber authentication keys with encryption support
Administration
- Admin Console: Localhost-only admin interface for service management
- Swagger / OpenAPI: Full Swagger UI documentation with all authentication schemes documented
- Service Definition Admin: Admin UI in Zinform desktop for managing service definitions, scripted endpoints, API endpoints, and request metrics
- Request Metrics: Built-in request tracking for monitoring API activity
- Windows Service Hosting: Runs as a Windows Service or under IIS
Coming Soon:
Organisation Settings:
- IMAP Settings (Coming Soon)
CRM Module (Coming Soon)
Email Processing (Coming Soon)
