Add sales slip document
This commit is contained in:
@@ -18,4 +18,5 @@ public static class DocumentTypes
|
||||
/// <summary>Production run (docs/30 FR-MFG-08) — <c>PRD-2026-00001</c>.</summary>
|
||||
public const string Production = "PRD";
|
||||
public const string SalesInvoice = "SI";
|
||||
public const string SalesSlip = "SSL";
|
||||
}
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
using ERPCore.Domain.Enums;
|
||||
|
||||
namespace ERPCore.Domain.Entities;
|
||||
|
||||
public class SalesSlip
|
||||
{
|
||||
public int SalesSlipId { get; set; }
|
||||
public string SlipNo { get; set; } = string.Empty;
|
||||
public DateTime SlipDate { get; set; }
|
||||
|
||||
public int CustomerId { get; set; }
|
||||
public Customer? Customer { get; set; }
|
||||
|
||||
public string CustomerSnapshotName { get; set; } = string.Empty;
|
||||
public int WarehouseId { get; set; }
|
||||
public Warehouse? Warehouse { get; set; }
|
||||
|
||||
public int CashierUserId { get; set; }
|
||||
public User? CashierUser { get; set; }
|
||||
|
||||
public SalesSlipStatus Status { get; set; } = SalesSlipStatus.Draft;
|
||||
|
||||
public decimal Subtotal { get; set; }
|
||||
public decimal DiscountTotal { get; set; }
|
||||
public decimal TaxTotal { get; set; }
|
||||
public decimal GrandTotal { get; set; }
|
||||
public decimal PaidAmount { get; set; }
|
||||
public decimal BalanceAmount { get; set; }
|
||||
|
||||
public DateTime CreatedAt { get; set; }
|
||||
public DateTime? UpdatedAt { get; set; }
|
||||
|
||||
public uint RowVersion { get; set; }
|
||||
|
||||
public ICollection<SalesSlipLine> Lines { get; set; } = new List<SalesSlipLine>();
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
namespace ERPCore.Domain.Entities;
|
||||
|
||||
public class SalesSlipLine
|
||||
{
|
||||
public int SalesSlipLineId { get; set; }
|
||||
|
||||
public int SalesSlipId { get; set; }
|
||||
public SalesSlip? SalesSlip { get; set; }
|
||||
|
||||
public int ItemId { get; set; }
|
||||
public Item? Item { get; set; }
|
||||
|
||||
public string Description { get; set; } = string.Empty;
|
||||
|
||||
public decimal Qty { get; set; }
|
||||
public decimal FreeQty { get; set; }
|
||||
public int UomId { get; set; }
|
||||
public Uom? Uom { get; set; }
|
||||
public int WarehouseId { get; set; }
|
||||
public Warehouse? Warehouse { get; set; }
|
||||
|
||||
public decimal UnitPrice { get; set; }
|
||||
public decimal BaseCost { get; set; }
|
||||
public string PriceSource { get; set; } = string.Empty;
|
||||
public decimal DiscountPct { get; set; }
|
||||
public decimal DiscountAmount { get; set; }
|
||||
public decimal NetUnitPrice { get; set; }
|
||||
public decimal LineTotal { get; set; }
|
||||
public decimal TaxPct { get; set; }
|
||||
public decimal TaxAmount { get; set; }
|
||||
public bool IsFreeIssue { get; set; }
|
||||
public int? ParentLineId { get; set; }
|
||||
|
||||
public uint RowVersion { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
namespace ERPCore.Domain.Enums;
|
||||
|
||||
public enum SalesSlipStatus
|
||||
{
|
||||
Draft = 1,
|
||||
Posted = 2,
|
||||
Cancelled = 3
|
||||
}
|
||||
Reference in New Issue
Block a user