Initial commit

This commit is contained in:
2026-04-23 21:38:24 -04:00
commit 63e12a9636
1762 changed files with 1672620 additions and 0 deletions
@@ -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);
}