using CashLineERP.Contracts.Tax;

namespace CashLineERP.Application.Tax;

public interface IStatutoryTaxService
{
    DocumentTaxSummaryResponse? GetAccountsPayableBillTaxSummary(long accountsPayableBillId);

    DocumentTaxSummaryResponse? GetAccountsReceivableInvoiceTaxSummary(long accountsReceivableInvoiceId);

    DocumentVatBreakdownExportResponse? GetAccountsPayableBillVatBreakdownExport(long accountsPayableBillId);

    DocumentVatBreakdownExportResponse? GetAccountsReceivableInvoiceVatBreakdownExport(long accountsReceivableInvoiceId);

    DocumentWithholdingSummaryResponse? GetAccountsPayableBillWithholdingSummary(long accountsPayableBillId);

    DocumentWithholdingSummaryResponse? GetAccountsReceivableInvoiceWithholdingSummary(long accountsReceivableInvoiceId);

    DocumentWithholdingExportResponse? GetAccountsPayableBillWithholdingExport(long accountsPayableBillId);

    DocumentWithholdingExportResponse? GetAccountsReceivableInvoiceWithholdingExport(long accountsReceivableInvoiceId);

    StatutoryEvidenceExportResponse? GetAccountsPayableBillStatutoryEvidenceExport(long accountsPayableBillId);

    StatutoryEvidenceExportResponse? GetAccountsReceivableInvoiceStatutoryEvidenceExport(long accountsReceivableInvoiceId);

    FinanceReviewExportPackageResponse? GetAccountsPayableBillFinanceReviewPackage(long accountsPayableBillId);

    FinanceReviewExportPackageResponse? GetAccountsReceivableInvoiceFinanceReviewPackage(long accountsReceivableInvoiceId);
}
