Initial commit
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
using PowderCoating.Application.DTOs.AI;
|
||||
|
||||
namespace PowderCoating.Application.Interfaces;
|
||||
|
||||
public interface IAccountingAiService
|
||||
{
|
||||
/// <summary>
|
||||
/// Scans a receipt/invoice image and extracts vendor, date, total, invoice number, and line items.
|
||||
/// Attempts to match each line item to one of the provided expense accounts.
|
||||
/// </summary>
|
||||
Task<ReceiptScanResult> ScanReceiptAsync(
|
||||
byte[] imageData,
|
||||
string mimeType,
|
||||
List<AccountSummary> availableAccounts);
|
||||
|
||||
/// <summary>
|
||||
/// Drafts a follow-up email for an overdue AR customer.
|
||||
/// Tone scales with days overdue: gentle (≤30), firm (31-60), serious (61+).
|
||||
/// </summary>
|
||||
Task<ArFollowUpResult> DraftFollowUpEmailAsync(ArFollowUpRequest request);
|
||||
|
||||
/// <summary>
|
||||
/// Suggests the best-matching expense account for a bill line item or expense.
|
||||
/// Returns a primary suggestion plus up to 3 ranked alternatives.
|
||||
/// </summary>
|
||||
Task<AccountSuggestionResult> SuggestAccountAsync(AccountSuggestionRequest request);
|
||||
|
||||
/// <summary>
|
||||
/// Generates a plain-English financial health summary with 4-6 bullet points
|
||||
/// and a sentiment classification (positive / neutral / concerning).
|
||||
/// </summary>
|
||||
Task<FinancialSummaryResult> GenerateFinancialSummaryAsync(FinancialSummaryRequest request);
|
||||
|
||||
/// <summary>
|
||||
/// Projects 30/60/90-day cash position based on open AR, open AP, and active job pipeline.
|
||||
/// Returns period-by-period inflow/outflow estimates and plain-English insights.
|
||||
/// </summary>
|
||||
Task<CashFlowForecastResult> GenerateCashFlowForecastAsync(CashFlowForecastRequest request);
|
||||
|
||||
/// <summary>
|
||||
/// Scans recent bills and expense account trends for duplicates, unusual amounts,
|
||||
/// and accounts running significantly above historical averages.
|
||||
/// Returns a ranked list of flagged items with recommended actions.
|
||||
/// </summary>
|
||||
Task<AnomalyDetectionResult> DetectAnomaliesAsync(AnomalyDetectionRequest request);
|
||||
}
|
||||
Reference in New Issue
Block a user