feat: add General Ledger integration and financial reporting features
- Implemented General Ledger client component for managing GL integration. - Created a dedicated page for General Ledger configuration. - Developed Finance Report client component for generating various financial reports. - Added report blocks for structured display of financial data. - Introduced API endpoints for fetching GL accounts and financial reports. - Updated navigation to include links for GL integration and financial reports. - Enhanced permissions to manage GL and view financial reports. - Updated appsettings to include General Ledger API configuration.
This commit is contained in:
@@ -13,5 +13,8 @@ namespace Distribution.Models
|
||||
public string CurrencyCode { get; set; } = "LKR";
|
||||
|
||||
public bool IsDefault { get; set; }
|
||||
|
||||
/// <summary>Code of the mirrored General Ledger account (child of GL Cash in Hand / Bank Accounts). Null until synced.</summary>
|
||||
public string? GlAccountCode { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
namespace Distribution.Models
|
||||
{
|
||||
public enum GlPostingStatus { Pending, Posted, Failed }
|
||||
|
||||
/// <summary>
|
||||
/// One row per journal entry Distribution sends to the General Ledger service. (Event, SourceId) is unique,
|
||||
/// so a business event can never be posted twice; Failed rows keep their payload and can be retried.
|
||||
/// </summary>
|
||||
public class GlPostingLog : Template
|
||||
{
|
||||
public string Event { get; set; } = string.Empty;
|
||||
public Guid SourceId { get; set; }
|
||||
public string Reference { get; set; } = string.Empty;
|
||||
public GlPostingStatus Status { get; set; } = GlPostingStatus.Pending;
|
||||
|
||||
/// <summary>The journal entry body (without periodId, which is resolved from EntryDate at send time).</summary>
|
||||
public string PayloadJson { get; set; } = string.Empty;
|
||||
|
||||
public string? GlJournalNo { get; set; }
|
||||
public string? Error { get; set; }
|
||||
public int Attempts { get; set; }
|
||||
public DateTime? LastAttemptAt { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user