import { CountryCode, Currency } from '../../../shared/enums.js';
import { makeUUID } from '../../helpers/deterministic-uuid.js';
/**
 * Monthly Expense Use-Case: Foreign Currency Transaction
 *
 * Demonstrates a US-based supplier invoice paid via bank transfer with
 * exchange rate conversion from USD to ILS. This use-case validates:
 * - Foreign currency transaction handling
 * - Exchange rate application
 * - Cross-border payment processing
 * - Ledger generation with currency conversion
 */
export const monthlyExpenseForeignCurrency = {
    id: 'monthly-expense-foreign-currency',
    name: 'Monthly Expense (Foreign Currency)',
    description: 'US-based supplier invoice paid via bank transfer with exchange rate conversion from USD to ILS. Validates foreign currency handling and ledger generation.',
    category: 'expenses',
    fixtures: {
        businesses: [
            {
                id: makeUUID('business', 'us-supplier-acme-llc'),
                name: 'Acme Consulting LLC',
                country: CountryCode['United States of America (the)'],
                canSettleWithReceipt: false,
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
        ],
        taxCategories: [
            {
                id: makeUUID('tax-category', 'consulting-expenses'),
                name: 'Consulting Expenses',
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
        ],
        financialAccounts: [
            {
                id: makeUUID('financial-account', 'bank-usd-account'),
                accountNumber: '123-456-7890',
                type: 'BANK_ACCOUNT',
                currency: Currency.Usd,
                ownerId: '{{ADMIN_BUSINESS_ID}}',
                taxCategoryMappings: [
                    {
                        taxCategoryId: makeUUID('tax-category', 'consulting-expenses'),
                        currency: Currency.Usd,
                        ownerId: '{{ADMIN_BUSINESS_ID}}',
                    },
                ],
            },
        ],
        charges: [
            {
                id: makeUUID('charge', 'consulting-invoice-2024-01'),
                ownerId: '{{ADMIN_BUSINESS_ID}}',
                userDescription: 'January consulting services',
            },
            {
                id: makeUUID('charge', 'consulting-invoice-2024-02'),
                ownerId: '{{ADMIN_BUSINESS_ID}}',
                userDescription: 'February consulting services',
            },
            {
                id: makeUUID('charge', 'consulting-invoice-2024-03'),
                ownerId: '{{ADMIN_BUSINESS_ID}}',
                userDescription: 'March consulting services',
            },
            {
                id: makeUUID('charge', 'consulting-invoice-2024-04'),
                ownerId: '{{ADMIN_BUSINESS_ID}}',
                userDescription: 'April consulting services',
            },
            {
                id: makeUUID('charge', 'consulting-invoice-2024-05'),
                ownerId: '{{ADMIN_BUSINESS_ID}}',
                userDescription: 'May consulting services',
            },
            {
                id: makeUUID('charge', 'consulting-invoice-2024-06'),
                ownerId: '{{ADMIN_BUSINESS_ID}}',
                userDescription: 'June consulting services',
            },
            {
                id: makeUUID('charge', 'consulting-invoice-2024-07'),
                ownerId: '{{ADMIN_BUSINESS_ID}}',
                userDescription: 'July consulting services',
            },
            {
                id: makeUUID('charge', 'consulting-invoice-2024-08'),
                ownerId: '{{ADMIN_BUSINESS_ID}}',
                userDescription: 'August consulting services',
            },
            {
                id: makeUUID('charge', 'consulting-invoice-2024-09'),
                ownerId: '{{ADMIN_BUSINESS_ID}}',
                userDescription: 'September consulting services',
            },
            {
                id: makeUUID('charge', 'consulting-invoice-2024-10'),
                ownerId: '{{ADMIN_BUSINESS_ID}}',
                userDescription: 'October consulting services',
            },
            {
                id: makeUUID('charge', 'consulting-invoice-2024-11'),
                ownerId: '{{ADMIN_BUSINESS_ID}}',
                userDescription: 'November consulting services',
            },
            {
                id: makeUUID('charge', 'consulting-invoice-2024-12'),
                ownerId: '{{ADMIN_BUSINESS_ID}}',
                userDescription: 'December consulting services',
            },
        ],
        transactions: [
            {
                id: makeUUID('transaction', 'consulting-payment-usd-01'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-01'),
                businessId: makeUUID('business', 'us-supplier-acme-llc'),
                amount: '-500.00',
                currency: Currency.Usd,
                eventDate: '2024-01-15',
                debitDate: '2024-01-15',
                accountNumber: '123-456-7890',
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
            {
                id: makeUUID('transaction', 'consulting-payment-usd-02'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-02'),
                businessId: makeUUID('business', 'us-supplier-acme-llc'),
                amount: '-500.00',
                currency: Currency.Usd,
                eventDate: '2024-02-15',
                debitDate: '2024-02-15',
                accountNumber: '123-456-7890',
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
            {
                id: makeUUID('transaction', 'consulting-payment-usd-03'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-03'),
                businessId: makeUUID('business', 'us-supplier-acme-llc'),
                amount: '-500.00',
                currency: Currency.Usd,
                eventDate: '2024-03-15',
                debitDate: '2024-03-15',
                accountNumber: '123-456-7890',
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
            {
                id: makeUUID('transaction', 'consulting-payment-usd-04'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-04'),
                businessId: makeUUID('business', 'us-supplier-acme-llc'),
                amount: '-500.00',
                currency: Currency.Usd,
                eventDate: '2024-04-15',
                debitDate: '2024-04-15',
                accountNumber: '123-456-7890',
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
            {
                id: makeUUID('transaction', 'consulting-payment-usd-05'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-05'),
                businessId: makeUUID('business', 'us-supplier-acme-llc'),
                amount: '-500.00',
                currency: Currency.Usd,
                eventDate: '2024-05-15',
                debitDate: '2024-05-15',
                accountNumber: '123-456-7890',
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
            {
                id: makeUUID('transaction', 'consulting-payment-usd-06'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-06'),
                businessId: makeUUID('business', 'us-supplier-acme-llc'),
                amount: '-500.00',
                currency: Currency.Usd,
                eventDate: '2024-06-15',
                debitDate: '2024-06-15',
                accountNumber: '123-456-7890',
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
            {
                id: makeUUID('transaction', 'consulting-payment-usd-07'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-07'),
                businessId: makeUUID('business', 'us-supplier-acme-llc'),
                amount: '-500.00',
                currency: Currency.Usd,
                eventDate: '2024-07-15',
                debitDate: '2024-07-15',
                accountNumber: '123-456-7890',
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
            {
                id: makeUUID('transaction', 'consulting-payment-usd-08'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-08'),
                businessId: makeUUID('business', 'us-supplier-acme-llc'),
                amount: '-500.00',
                currency: Currency.Usd,
                eventDate: '2024-08-15',
                debitDate: '2024-08-15',
                accountNumber: '123-456-7890',
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
            {
                id: makeUUID('transaction', 'consulting-payment-usd-09'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-09'),
                businessId: makeUUID('business', 'us-supplier-acme-llc'),
                amount: '-500.00',
                currency: Currency.Usd,
                eventDate: '2024-09-15',
                debitDate: '2024-09-15',
                accountNumber: '123-456-7890',
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
            {
                id: makeUUID('transaction', 'consulting-payment-usd-10'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-10'),
                businessId: makeUUID('business', 'us-supplier-acme-llc'),
                amount: '-500.00',
                currency: Currency.Usd,
                eventDate: '2024-10-15',
                debitDate: '2024-10-15',
                accountNumber: '123-456-7890',
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
            {
                id: makeUUID('transaction', 'consulting-payment-usd-11'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-11'),
                businessId: makeUUID('business', 'us-supplier-acme-llc'),
                amount: '-500.00',
                currency: Currency.Usd,
                eventDate: '2024-11-15',
                debitDate: '2024-11-15',
                accountNumber: '123-456-7890',
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
            {
                id: makeUUID('transaction', 'consulting-payment-usd-12'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-12'),
                businessId: makeUUID('business', 'us-supplier-acme-llc'),
                amount: '-500.00',
                currency: Currency.Usd,
                eventDate: '2024-12-15',
                debitDate: '2024-12-15',
                accountNumber: '123-456-7890',
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
        ],
        documents: [
            {
                id: makeUUID('document', 'consulting-invoice-inv-2024-01-15'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-01'),
                creditorId: makeUUID('business', 'us-supplier-acme-llc'),
                debtorId: '{{ADMIN_BUSINESS_ID}}',
                serialNumber: 'INV-2024-01-15',
                type: 'INVOICE',
                date: '2024-01-01',
                totalAmount: '500.00',
                currencyCode: Currency.Usd,
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
            {
                id: makeUUID('document', 'consulting-invoice-inv-2024-02-15'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-02'),
                creditorId: makeUUID('business', 'us-supplier-acme-llc'),
                debtorId: '{{ADMIN_BUSINESS_ID}}',
                serialNumber: 'INV-2024-02-15',
                type: 'INVOICE',
                date: '2024-02-01',
                totalAmount: '500.00',
                currencyCode: Currency.Usd,
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
            {
                id: makeUUID('document', 'consulting-invoice-inv-2024-03-15'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-03'),
                creditorId: makeUUID('business', 'us-supplier-acme-llc'),
                debtorId: '{{ADMIN_BUSINESS_ID}}',
                serialNumber: 'INV-2024-03-15',
                type: 'INVOICE',
                date: '2024-03-01',
                totalAmount: '500.00',
                currencyCode: Currency.Usd,
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
            {
                id: makeUUID('document', 'consulting-invoice-inv-2024-04-15'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-04'),
                creditorId: makeUUID('business', 'us-supplier-acme-llc'),
                debtorId: '{{ADMIN_BUSINESS_ID}}',
                serialNumber: 'INV-2024-04-15',
                type: 'INVOICE',
                date: '2024-04-01',
                totalAmount: '500.00',
                currencyCode: Currency.Usd,
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
            {
                id: makeUUID('document', 'consulting-invoice-inv-2024-05-15'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-05'),
                creditorId: makeUUID('business', 'us-supplier-acme-llc'),
                debtorId: '{{ADMIN_BUSINESS_ID}}',
                serialNumber: 'INV-2024-05-15',
                type: 'INVOICE',
                date: '2024-05-01',
                totalAmount: '500.00',
                currencyCode: Currency.Usd,
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
            {
                id: makeUUID('document', 'consulting-invoice-inv-2024-06-15'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-06'),
                creditorId: makeUUID('business', 'us-supplier-acme-llc'),
                debtorId: '{{ADMIN_BUSINESS_ID}}',
                serialNumber: 'INV-2024-06-15',
                type: 'INVOICE',
                date: '2024-06-01',
                totalAmount: '500.00',
                currencyCode: Currency.Usd,
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
            {
                id: makeUUID('document', 'consulting-invoice-inv-2024-07-15'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-07'),
                creditorId: makeUUID('business', 'us-supplier-acme-llc'),
                debtorId: '{{ADMIN_BUSINESS_ID}}',
                serialNumber: 'INV-2024-07-15',
                type: 'INVOICE',
                date: '2024-07-01',
                totalAmount: '500.00',
                currencyCode: Currency.Usd,
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
            {
                id: makeUUID('document', 'consulting-invoice-inv-2024-08-15'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-08'),
                creditorId: makeUUID('business', 'us-supplier-acme-llc'),
                debtorId: '{{ADMIN_BUSINESS_ID}}',
                serialNumber: 'INV-2024-08-15',
                type: 'INVOICE',
                date: '2024-08-01',
                totalAmount: '500.00',
                currencyCode: Currency.Usd,
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
            {
                id: makeUUID('document', 'consulting-invoice-inv-2024-09-15'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-09'),
                creditorId: makeUUID('business', 'us-supplier-acme-llc'),
                debtorId: '{{ADMIN_BUSINESS_ID}}',
                serialNumber: 'INV-2024-09-15',
                type: 'INVOICE',
                date: '2024-09-01',
                totalAmount: '500.00',
                currencyCode: Currency.Usd,
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
            {
                id: makeUUID('document', 'consulting-invoice-inv-2024-10-15'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-10'),
                creditorId: makeUUID('business', 'us-supplier-acme-llc'),
                debtorId: '{{ADMIN_BUSINESS_ID}}',
                serialNumber: 'INV-2024-10-15',
                type: 'INVOICE',
                date: '2024-10-01',
                totalAmount: '500.00',
                currencyCode: Currency.Usd,
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
            {
                id: makeUUID('document', 'consulting-invoice-inv-2024-11-15'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-11'),
                creditorId: makeUUID('business', 'us-supplier-acme-llc'),
                debtorId: '{{ADMIN_BUSINESS_ID}}',
                serialNumber: 'INV-2024-11-15',
                type: 'INVOICE',
                date: '2024-11-01',
                totalAmount: '500.00',
                currencyCode: Currency.Usd,
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
            {
                id: makeUUID('document', 'consulting-invoice-inv-2024-12-15'),
                chargeId: makeUUID('charge', 'consulting-invoice-2024-12'),
                creditorId: makeUUID('business', 'us-supplier-acme-llc'),
                debtorId: '{{ADMIN_BUSINESS_ID}}',
                serialNumber: 'INV-2024-12-15',
                type: 'INVOICE',
                date: '2024-12-01',
                totalAmount: '500.00',
                currencyCode: Currency.Usd,
                ownerId: '{{ADMIN_BUSINESS_ID}}',
            },
        ],
    },
    metadata: {
        author: 'demo-team',
        createdAt: '2024-01-01',
        updatedAt: '2024-01-01',
    },
    expectations: {
        ledgerRecordCount: 24,
    },
};
//# sourceMappingURL=monthly-expense-foreign-currency.js.map