Table of Contents

Class PurchaseReportsController

Namespace
KadicErp.WebApi.Controllers.AdminReporting.Reports
Assembly
KadicErp.WebApi.dll
[ApiController]
public class PurchaseReportsController : ControllerBase
Inheritance
object
ControllerBase
PurchaseReportsController

Constructors

PurchaseReportsController(IMediator, IReportExportService)

public PurchaseReportsController(IMediator mediator, IReportExportService exportService)

Parameters

mediator IMediator
exportService IReportExportService

Methods

Export(ReportExportRequest)

Exports a purchase report as CSV, Excel, or PDF. Pass report=po-listing|by-supplier|by-product|gr-listing|requisition-tracking.

[HttpPost("api/admin-reporting/reports/purchase/export")]
[Authorize(Policy = "ADMIN_REPORTING_REPORTS_EXPORT")]
public Task<IActionResult> Export(ReportExportRequest request)

Parameters

request ReportExportRequest

Returns

Task<IActionResult>

GetGoodsReceiptListing(Guid?, DateOnly?, DateOnly?, string?, int, int)

Full goods receipt listing with search support on GR number and supplier name.

[HttpGet("api/admin-reporting/reports/purchase/gr-listing")]
[Authorize(Policy = "ADMIN_REPORTING_REPORTS_PURCHASE_VIEW")]
public Task<IActionResult> GetGoodsReceiptListing(Guid? branchId, DateOnly? dateFrom, DateOnly? dateTo, string? search, int page = 1, int pageSize = 50)

Parameters

branchId Guid?
dateFrom DateOnly?
dateTo DateOnly?
search string
page int
pageSize int

Returns

Task<IActionResult>

GetPurchaseByProduct(Guid?, DateOnly?, DateOnly?, int, int)

Returns purchase totals grouped by item (ItemId + ProductNameSnapshot).

[HttpGet("api/admin-reporting/reports/purchase/by-product")]
[Authorize(Policy = "ADMIN_REPORTING_REPORTS_PURCHASE_VIEW")]
public Task<IActionResult> GetPurchaseByProduct(Guid? branchId, DateOnly? dateFrom, DateOnly? dateTo, int page = 1, int pageSize = 50)

Parameters

branchId Guid?
dateFrom DateOnly?
dateTo DateOnly?
page int
pageSize int

Returns

Task<IActionResult>

GetPurchaseBySupplier(Guid?, DateOnly?, DateOnly?, int, int)

Returns purchase totals grouped by supplier.

[HttpGet("api/admin-reporting/reports/purchase/by-supplier")]
[Authorize(Policy = "ADMIN_REPORTING_REPORTS_PURCHASE_VIEW")]
public Task<IActionResult> GetPurchaseBySupplier(Guid? branchId, DateOnly? dateFrom, DateOnly? dateTo, int page = 1, int pageSize = 50)

Parameters

branchId Guid?
dateFrom DateOnly?
dateTo DateOnly?
page int
pageSize int

Returns

Task<IActionResult>

GetPurchaseOrderListing(Guid?, DateOnly?, DateOnly?, string?, int, int)

Full purchase order listing with search support on PO number and supplier name.

[HttpGet("api/admin-reporting/reports/purchase/po-listing")]
[Authorize(Policy = "ADMIN_REPORTING_REPORTS_PURCHASE_VIEW")]
public Task<IActionResult> GetPurchaseOrderListing(Guid? branchId, DateOnly? dateFrom, DateOnly? dateTo, string? search, int page = 1, int pageSize = 50)

Parameters

branchId Guid?
dateFrom DateOnly?
dateTo DateOnly?
search string
page int
pageSize int

Returns

Task<IActionResult>

GetPurchaseSummary(Guid?, DateOnly?, DateOnly?)

Returns aggregated purchase KPIs: total POs, amounts, pending receipts, and trend vs previous period.

[HttpGet("api/admin-reporting/reports/purchase/summary")]
[Authorize(Policy = "ADMIN_REPORTING_REPORTS_PURCHASE_VIEW")]
public Task<IActionResult> GetPurchaseSummary(Guid? branchId, DateOnly? dateFrom, DateOnly? dateTo)

Parameters

branchId Guid?
dateFrom DateOnly?
dateTo DateOnly?

Returns

Task<IActionResult>

GetRequisitionTracking(Guid?, DateOnly?, DateOnly?, int, int)

Returns the full procurement lifecycle: Requisition → RFQ → PO → Goods Receipt.

[HttpGet("api/admin-reporting/reports/purchase/requisition-tracking")]
[Authorize(Policy = "ADMIN_REPORTING_REPORTS_PURCHASE_VIEW")]
public Task<IActionResult> GetRequisitionTracking(Guid? branchId, DateOnly? dateFrom, DateOnly? dateTo, int page = 1, int pageSize = 50)

Parameters

branchId Guid?
dateFrom DateOnly?
dateTo DateOnly?
page int
pageSize int

Returns

Task<IActionResult>