Class DebitNotesController
- Namespace
- KadicErp.WebApi.Controllers.FiscalAdjustments
- Assembly
- KadicErp.WebApi.dll
[ApiController]
[Authorize]
[Route("api/fiscal-adjustments/debit-notes")]
public class DebitNotesController : ControllerBase
- Inheritance
-
objectControllerBaseDebitNotesController
Constructors
DebitNotesController(IMediator, IStringLocalizer<GeneralMessages>, IReceivablesQueryService)
public DebitNotesController(IMediator mediator, IStringLocalizer<GeneralMessages> localizer, IReceivablesQueryService queryService)
Parameters
mediatorIMediatorlocalizerIStringLocalizer<GeneralMessages>queryServiceIReceivablesQueryService
Methods
ActivateReasonCode(Guid)
[HttpPatch("reason-codes/{id:guid}/activate")]
[Authorize(Policy = "RECEIVABLES_DEBIT_NOTES_REASON_CODES_ACTIVATE")]
public Task<IActionResult> ActivateReasonCode(Guid id)
Parameters
idGuid
Returns
- Task<IActionResult>
Create(CreateDebitNoteCommand)
Crear una Nota de Débito fiscal (ND). Genera NCF, ReceivableDocument y aumenta saldo del cliente.
[HttpPost]
[Authorize(Policy = "RECEIVABLES_DEBIT_NOTES_CREATE")]
public Task<IActionResult> Create(CreateDebitNoteCommand command)
Parameters
commandCreateDebitNoteCommand
Returns
- Task<IActionResult>
CreateReasonCode(CreateDebitNoteReasonCodeCommand)
[HttpPost("reason-codes")]
[Authorize(Policy = "RECEIVABLES_DEBIT_NOTES_CREATE")]
public Task<IActionResult> CreateReasonCode(CreateDebitNoteReasonCodeCommand command)
Parameters
commandCreateDebitNoteReasonCodeCommand
Returns
- Task<IActionResult>
DeactivateReasonCode(Guid)
[HttpPatch("reason-codes/{id:guid}/deactivate")]
[Authorize(Policy = "RECEIVABLES_DEBIT_NOTES_REASON_CODES_DEACTIVATE")]
public Task<IActionResult> DeactivateReasonCode(Guid id)
Parameters
idGuid
Returns
- Task<IActionResult>
DeleteReasonCode(Guid)
[HttpDelete("reason-codes/{id:guid}")]
[Authorize(Policy = "RECEIVABLES_DEBIT_NOTES_CREATE")]
public Task<IActionResult> DeleteReasonCode(Guid id)
Parameters
idGuid
Returns
- Task<IActionResult>
GetAll(GetDebitNotesPaginatedQuery)
Listar Notas de Débito con paginación y filtros opcionales. Filtros: customerId, branchId, fiscalStatus, issuedFrom, issuedTo.
[HttpGet]
[Authorize(Policy = "RECEIVABLES_DEBIT_NOTES_VIEW")]
public Task<IActionResult> GetAll(GetDebitNotesPaginatedQuery query)
Parameters
queryGetDebitNotesPaginatedQuery
Returns
- Task<IActionResult>
GetById(Guid)
Obtener detalle completo de una Nota de Débito por su Id.
[HttpGet("{id:guid}")]
[Authorize(Policy = "RECEIVABLES_DEBIT_NOTES_VIEW")]
public Task<IActionResult> GetById(Guid id)
Parameters
idGuid
Returns
- Task<IActionResult>
GetByInvoice(Guid)
Obtener todas las Notas de Débito vinculadas a una factura base.
[HttpGet("by-invoice/{invoiceId:guid}")]
[Authorize(Policy = "RECEIVABLES_DEBIT_NOTES_VIEW")]
public Task<IActionResult> GetByInvoice(Guid invoiceId)
Parameters
invoiceIdGuid
Returns
- Task<IActionResult>
GetCustomerSummaries()
Obtener un resumen agrupado de notas de débito por cliente. Devuelve un registro por cliente con conteos y montos totales/abiertos.
[HttpGet("customer-summaries")]
[Authorize(Policy = "RECEIVABLES_DEBIT_NOTES_VIEW")]
public Task<IActionResult> GetCustomerSummaries()
Returns
- Task<IActionResult>
GetInvoicePaymentSummary(Guid)
Obtener el resumen de pagos de una factura para pre-llenar el formulario de Nota de Débito. Si la factura no tiene CXC: PaidAmount = GrandTotal, PendingBalance = 0. Si tiene CXC: PaidAmount y PendingBalance calculados desde los documentos de CXC.
[HttpGet("invoice-payment-summary/{invoiceId:guid}")]
[Authorize(Policy = "RECEIVABLES_DEBIT_NOTES_VIEW")]
public Task<IActionResult> GetInvoicePaymentSummary(Guid invoiceId)
Parameters
invoiceIdGuid
Returns
- Task<IActionResult>
GetReasonCodeById(Guid)
[HttpGet("reason-codes/{id:guid}")]
[Authorize(Policy = "RECEIVABLES_DEBIT_NOTES_VIEW")]
public Task<IActionResult> GetReasonCodeById(Guid id)
Parameters
idGuid
Returns
- Task<IActionResult>
GetReasonCodes(bool)
[HttpGet("reason-codes")]
[Authorize(Policy = "RECEIVABLES_DEBIT_NOTES_VIEW")]
public Task<IActionResult> GetReasonCodes(bool adminMode = false)
Parameters
adminModebool
Returns
- Task<IActionResult>
GetReceipts(Guid, CancellationToken)
Obtener los recibos de pago aplicados a una Nota de Débito. Devuelve todos los pagos registrados contra el ReceivableDocument vinculado a la ND.
[HttpGet("{id:guid}/receipts")]
[Authorize(Policy = "RECEIVABLES_DEBIT_NOTES_VIEW")]
public Task<IActionResult> GetReceipts(Guid id, CancellationToken cancellationToken)
Parameters
idGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>
UpdateReasonCode(Guid, UpdateDebitNoteReasonCodeCommand)
[HttpPut("reason-codes/{id:guid}")]
[Authorize(Policy = "RECEIVABLES_DEBIT_NOTES_CREATE")]
public Task<IActionResult> UpdateReasonCode(Guid id, UpdateDebitNoteReasonCodeCommand command)
Parameters
idGuidcommandUpdateDebitNoteReasonCodeCommand
Returns
- Task<IActionResult>