Table of Contents

Class CreditNotesController

Namespace
KadicErp.WebApi.Controllers.FiscalAdjustments
Assembly
KadicErp.WebApi.dll
[ApiController]
[Authorize]
[Route("api/fiscal-adjustments/credit-notes")]
public class CreditNotesController : ControllerBase
Inheritance
object
ControllerBase
CreditNotesController

Constructors

CreditNotesController(IMediator, IStringLocalizer<GeneralMessages>)

public CreditNotesController(IMediator mediator, IStringLocalizer<GeneralMessages> localizer)

Parameters

mediator IMediator
localizer IStringLocalizer<GeneralMessages>

Methods

Apply(Guid, ApplyCreditNoteRequest)

Aplicar el crédito de una NC contra un documento de CXC específico. Reduce el saldo pendiente del documento objetivo y marca la NC como Applied/PartiallyApplied.

[HttpPost("{id:guid}/apply")]
[Authorize(Policy = "RECEIVABLES_CREDIT_NOTES_APPLY")]
public Task<IActionResult> Apply(Guid id, ApplyCreditNoteRequest request)

Parameters

id Guid
request ApplyCreditNoteRequest

Returns

Task<IActionResult>

Create(CreateCreditNoteCommand)

Crear una Nota de Crédito fiscal (NC). Genera NCF y registra crédito disponible para el cliente.

[HttpPost]
[Authorize(Policy = "RECEIVABLES_CREDIT_NOTES_CREATE")]
public Task<IActionResult> Create(CreateCreditNoteCommand command)

Parameters

command CreateCreditNoteCommand

Returns

Task<IActionResult>

GetAll(GetCreditNotesPaginatedQuery)

Listar Notas de Crédito con paginación y filtros opcionales. Filtros: customerId, branchId, fiscalStatus, financialStatus, issuedFrom, issuedTo.

[HttpGet]
[Authorize(Policy = "RECEIVABLES_CUSTOMER_ACCOUNTS_VIEW")]
public Task<IActionResult> GetAll(GetCreditNotesPaginatedQuery query)

Parameters

query GetCreditNotesPaginatedQuery

Returns

Task<IActionResult>

GetById(Guid)

Obtener detalle completo de una Nota de Crédito por su Id.

[HttpGet("{id:guid}")]
[Authorize(Policy = "RECEIVABLES_CUSTOMER_ACCOUNTS_VIEW")]
public Task<IActionResult> GetById(Guid id)

Parameters

id Guid

Returns

Task<IActionResult>

GetByInvoice(Guid)

Obtener todas las Notas de Crédito vinculadas a una factura base.

[HttpGet("by-invoice/{invoiceId:guid}")]
[Authorize(Policy = "RECEIVABLES_CUSTOMER_ACCOUNTS_VIEW")]
public Task<IActionResult> GetByInvoice(Guid invoiceId)

Parameters

invoiceId Guid

Returns

Task<IActionResult>