phronCare/Models/Models/PhSSalesDocumentDetail.cs
leandro 0093b13a06
All checks were successful
CI/CD Pipeline / Build and Deploy with Docker Compose (pull_request) Successful in 9m26s
feat(api): add sales document coverage and period support
closes #55
2026-05-02 16:24:05 -03:00

105 lines
3.0 KiB
C#

using System;
using System.Collections.Generic;
namespace Models.Models;
/// <summary>
/// Detalles valorizados de documentos comerciales de venta.
/// </summary>
public partial class PhSSalesDocumentDetail
{
public int Id { get; set; }
/// <summary>
/// Documento comercial al que pertenece el detalle.
/// </summary>
public int SalesdocumentId { get; set; }
/// <summary>
/// Numero de linea dentro del documento.
/// </summary>
public int LineNumber { get; set; }
/// <summary>
/// Origen logico del item: Manual, QuoteDetail, Adjustment u otro valor definido por Domain/Core.
/// </summary>
public string OriginType { get; set; } = null!;
/// <summary>
/// Identificador generico del origen cuando aplique.
/// </summary>
public int? OriginId { get; set; }
/// <summary>
/// Detalle del presupuesto aprobado que origina la linea, cuando exista. Puede ser NULL en ventas manuales.
/// </summary>
public int? QuoteDetailId { get; set; }
/// <summary>
/// Producto asociado a la linea, si aplica.
/// </summary>
public int? ProductId { get; set; }
/// <summary>
/// Descripcion visible de la linea facturada.
/// </summary>
public string Description { get; set; } = null!;
/// <summary>
/// Cantidad facturada.
/// </summary>
public decimal Quantity { get; set; }
/// <summary>
/// Precio unitario autorizado o de referencia proveniente del origen comercial.
/// </summary>
public decimal? AuthorizedUnitPrice { get; set; }
/// <summary>
/// Importe autorizado o de referencia proveniente del origen comercial.
/// </summary>
public decimal? AuthorizedAmount { get; set; }
/// <summary>
/// Porcentaje facturado sobre el origen. Permite facturacion parcial obra social / particular.
/// </summary>
public decimal? BilledPercentage { get; set; }
/// <summary>
/// Precio unitario efectivo de la linea del documento.
/// </summary>
public decimal UnitPrice { get; set; }
/// <summary>
/// Importe neto de la linea.
/// </summary>
public decimal NetAmount { get; set; }
/// <summary>
/// Importe de impuestos de la linea.
/// </summary>
public decimal TaxAmount { get; set; }
/// <summary>
/// Importe total de la linea.
/// </summary>
public decimal TotalAmount { get; set; }
/// <summary>
/// Snapshot JSON del origen de la linea para trazabilidad historica.
/// </summary>
public string? OriginSnapshotJson { get; set; }
public DateTime Createdat { get; set; }
public DateTime? Modifiedat { get; set; }
public virtual ICollection<PhSSalesDocumentCoverage> PhSSalesDocumentCoverages { get; set; } = new List<PhSSalesDocumentCoverage>();
public virtual PhSProduct? Product { get; set; }
public virtual PhSQuoteDetail? QuoteDetail { get; set; }
public virtual PhSSalesDocument Salesdocument { get; set; } = null!;
}