Class SalesReportsController
- Namespace
- KadicErp.WebApi.Controllers.AdminReporting.Reports
- Assembly
- KadicErp.WebApi.dll
[ApiController]
public class SalesReportsController : ControllerBase
- Inheritance
-
objectControllerBaseSalesReportsController
Constructors
SalesReportsController(IMediator, IReportExportService)
public SalesReportsController(IMediator mediator, IReportExportService exportService)
Parameters
mediatorIMediatorexportServiceIReportExportService
Methods
Export(ReportExportRequest)
Exports a sales report as CSV, Excel, or PDF. Pass report=by-customer|by-product|by-period|by-fiscal-doc-type|invoice-listing|tax-summary.
[HttpPost("api/admin-reporting/reports/sales/export")]
[Authorize(Policy = "ADMIN_REPORTING_REPORTS_EXPORT")]
public Task<IActionResult> Export(ReportExportRequest request)
Parameters
requestReportExportRequest
Returns
- Task<IActionResult>
GetInvoiceListing(Guid?, DateOnly?, DateOnly?, string?, int, int)
Full invoice listing with search support on invoice number, NCF, customer name, and RNC.
[HttpGet("api/admin-reporting/reports/sales/invoice-listing")]
[Authorize(Policy = "ADMIN_REPORTING_REPORTS_SALES_VIEW")]
public Task<IActionResult> GetInvoiceListing(Guid? branchId, DateOnly? dateFrom, DateOnly? dateTo, string? search, int page = 1, int pageSize = 50)
Parameters
branchIdGuid?dateFromDateOnly?dateToDateOnly?searchstringpageintpageSizeint
Returns
- Task<IActionResult>
GetSalesByCustomer(Guid?, DateOnly?, DateOnly?, int, int)
Returns sales totals grouped by customer (BusinessPartnerId + COMPRADOR snapshot).
[HttpGet("api/admin-reporting/reports/sales/by-customer")]
[Authorize(Policy = "ADMIN_REPORTING_REPORTS_SALES_VIEW")]
public Task<IActionResult> GetSalesByCustomer(Guid? branchId, DateOnly? dateFrom, DateOnly? dateTo, int page = 1, int pageSize = 50)
Parameters
branchIdGuid?dateFromDateOnly?dateToDateOnly?pageintpageSizeint
Returns
- Task<IActionResult>
GetSalesByFiscalDocType(Guid?, DateOnly?, DateOnly?, int, int)
Returns sales totals grouped by fiscal document type (NCF type / e.g. 01, 02, 14…).
[HttpGet("api/admin-reporting/reports/sales/by-fiscal-doc-type")]
[Authorize(Policy = "ADMIN_REPORTING_REPORTS_SALES_VIEW")]
public Task<IActionResult> GetSalesByFiscalDocType(Guid? branchId, DateOnly? dateFrom, DateOnly? dateTo, int page = 1, int pageSize = 50)
Parameters
branchIdGuid?dateFromDateOnly?dateToDateOnly?pageintpageSizeint
Returns
- Task<IActionResult>
GetSalesByPeriod(Guid?, DateOnly?, DateOnly?, string, int, int)
Returns sales grouped by day, week, or month. Pass groupBy=DAY|WEEK|MONTH (default MONTH).
[HttpGet("api/admin-reporting/reports/sales/by-period")]
[Authorize(Policy = "ADMIN_REPORTING_REPORTS_SALES_VIEW")]
public Task<IActionResult> GetSalesByPeriod(Guid? branchId, DateOnly? dateFrom, DateOnly? dateTo, string groupBy = "MONTH", int page = 1, int pageSize = 50)
Parameters
branchIdGuid?dateFromDateOnly?dateToDateOnly?groupBystringpageintpageSizeint
Returns
- Task<IActionResult>
GetSalesByProduct(Guid?, DateOnly?, DateOnly?, int, int)
Returns sales totals grouped by item (ItemId + ItemSnapshot).
[HttpGet("api/admin-reporting/reports/sales/by-product")]
[Authorize(Policy = "ADMIN_REPORTING_REPORTS_SALES_VIEW")]
public Task<IActionResult> GetSalesByProduct(Guid? branchId, DateOnly? dateFrom, DateOnly? dateTo, int page = 1, int pageSize = 50)
Parameters
branchIdGuid?dateFromDateOnly?dateToDateOnly?pageintpageSizeint
Returns
- Task<IActionResult>
GetSalesSummary(Guid?, DateOnly?, DateOnly?)
Returns aggregated sales KPIs for the given period with trend vs previous period.
[HttpGet("api/admin-reporting/reports/sales/summary")]
[Authorize(Policy = "ADMIN_REPORTING_REPORTS_SALES_VIEW")]
public Task<IActionResult> GetSalesSummary(Guid? branchId, DateOnly? dateFrom, DateOnly? dateTo)
Parameters
branchIdGuid?dateFromDateOnly?dateToDateOnly?
Returns
- Task<IActionResult>
GetSalesTaxSummary(Guid?, DateOnly?, DateOnly?, int, int)
Returns taxable base and collected tax amounts grouped by tax rate.
[HttpGet("api/admin-reporting/reports/sales/tax-summary")]
[Authorize(Policy = "ADMIN_REPORTING_REPORTS_SALES_VIEW")]
public Task<IActionResult> GetSalesTaxSummary(Guid? branchId, DateOnly? dateFrom, DateOnly? dateTo, int page = 1, int pageSize = 50)
Parameters
branchIdGuid?dateFromDateOnly?dateToDateOnly?pageintpageSizeint
Returns
- Task<IActionResult>