import { createGetDB, type Generated, type Timestamp, type Serial, type NamespaceDB, type NamespaceInsertable, type NamespaceSelectable, type NamespaceTable, type NamespaceTableName, type NamespaceTransaction, type NamespaceUpdateable, } from "@tailor-platform/sdk/kysely"; export interface Namespace { "main-db": { Account: { id: Generated; code: string; name: string; accountType: "ASSET" | "LIABILITY" | "EQUITY" | "REVENUE" | "EXPENSE"; companyId: string; status: "ACTIVE" | "INACTIVE"; createdAt: Generated; updatedAt: Generated; } AccountPayableDistributionLine: { id: Generated; accountPayableDocumentLineId: string; correctionOfDistributionLineId: string | null; accountId: string; amount: string; distributionType: "MANUAL" | "ACCRUAL" | "INVOICE_PRICE_VARIANCE"; description: string | null; createdAt: Generated; updatedAt: Generated; } AccountPayableDocument: { id: Generated; companyId: string; supplierAccountId: string; currencyId: string; payableControlAccountId: string; documentType: "INVOICE" | "CREDIT_MEMO"; correctionOfId: string | null; documentNumber: Serial; externalDocumentNumber: string | null; documentDate: Timestamp; postingDate: Timestamp; totalAmount: string; description: string | null; status: "DRAFT" | "REGISTERED" | "CANCELLED" | "POSTED"; registeredAt: Timestamp | null; postedAt: Timestamp | null; cancelledAt: Timestamp | null; createdAt: Generated; updatedAt: Generated; } AccountPayableDocumentAttachment: { id: Generated; accountPayableDocumentId: string; originalFileName: string; createdAt: Generated; updatedAt: Generated; } AccountPayableDocumentHold: { id: Generated; accountPayableDocumentId: string; accountPayableDocumentLineId: string | null; reasonCode: "INVOICE_UNIT_DIFFERS_FROM_PURCHASE_ORDER_UNIT" | "INVOICE_UNIT_PRICE_DIFFERS_FROM_PURCHASE_ORDER_UNIT_PRICE" | "INVOICE_QUANTITY_EXCEEDS_ORDERED_QUANTITY" | "INVOICE_QUANTITY_EXCEEDS_RECEIVED_QUANTITY"; source: "SYSTEM" | "MANUAL"; releasedAt: Timestamp | null; releaseReason: string | null; createdAt: Generated; updatedAt: Generated; } AccountPayableDocumentLine: { id: Generated; accountPayableDocumentId: string; netAmount: string; taxAmount: string | null; grossAmount: string; correctionOfLineId: string | null; correctionType: "PRICE" | "QUANTITY" | "AMOUNT" | null; quantity: string | null; unitPrice: string | null; matchedPurchaseOrderUnitPrice: string | null; unitId: string | null; description: string | null; sourceType: "PURCHASE_ORDER" | null; purchaseOrderLineId: string | null; createdAt: Generated; updatedAt: Generated; } AccountPayableDueScheduleLine: { id: Generated; accountPayableDocumentId: string; dueDate: Timestamp; amount: string; createdAt: Generated; updatedAt: Generated; } AccountPayableSettlement: { id: Generated; sourceType: "OUTGOING_PAYMENT"; outgoingPaymentId: string; accountPayableDueScheduleLineId: string; settledAmount: string; reversalOfSettlementId: string | null; createdAt: Generated; updatedAt: Generated; } AccountReceivableDistributionLine: { id: Generated; accountReceivableDocumentLineId: string; correctionOfDistributionLineId: string | null; accountId: string; amount: string; description: string | null; createdAt: Generated; updatedAt: Generated; } AccountReceivableDocument: { id: Generated; companyId: string; customerAccountId: string; currencyId: string; receivableControlAccountId: string; documentType: "INVOICE" | "CREDIT_MEMO"; correctionOfId: string | null; documentNumber: Serial; externalDocumentNumber: string | null; documentDate: Timestamp; postingDate: Timestamp; totalAmount: string; description: string | null; status: "DRAFT" | "REGISTERED" | "POSTED" | "CANCELLED"; registeredAt: Timestamp | null; postedAt: Timestamp | null; cancelledAt: Timestamp | null; createdAt: Generated; updatedAt: Generated; } AccountReceivableDocumentLine: { id: Generated; accountReceivableDocumentId: string; netAmount: string; taxAmount: string | null; grossAmount: string; correctionOfLineId: string | null; correctionType: "PRICE" | "QUANTITY" | "AMOUNT" | null; sourceType: "SALES_ORDER" | null; salesOrderLineId: string | null; quantity: string | null; unitPrice: string | null; unitId: string | null; description: string | null; createdAt: Generated; updatedAt: Generated; } AccountReceivableDueScheduleLine: { id: Generated; accountReceivableDocumentId: string; dueDate: Timestamp; amount: string; createdAt: Generated; updatedAt: Generated; } AccountReceivableSettlement: { id: Generated; sourceType: "INCOMING_PAYMENT"; incomingPaymentId: string; accountReceivableDueScheduleLineId: string; settledAmount: string; reversalOfSettlementId: string | null; createdAt: Generated; updatedAt: Generated; } AccountingPeriod: { id: Generated; companyId: string; fiscalYearId: string; name: string; startDate: Timestamp; endDate: Timestamp; periodType: "OPERATING" | "ADJUSTMENT"; status: "NEVER_OPENED" | "OPEN" | "CLOSED" | "PERMANENTLY_CLOSED"; createdAt: Generated; updatedAt: Generated; } AcquisitionCostAdjustment: { id: Generated; sourceType: "ACCOUNT_PAYABLE_DOCUMENT" | "PURCHASE_ORDER_REVISION" | "INVENTORY_LEDGER"; sourceId: string; sourceLineId: string | null; purchaseOrderId: string; purchaseOrderLineId: string; amount: string; kind: "INVOICE_PRICE" | "ORDER_PRICE" | "REDISTRIBUTION"; effectiveDate: Timestamp; createdAt: Generated; } AcquisitionCostAdjustmentAllocation: { id: Generated; acquisitionCostAdjustmentId: string; costLayerId: string; amount: string; varianceKind: "INVOICE_PRICE" | "ORDER_PRICE"; createdAt: Generated; } AverageCost: { id: Generated; itemId: string; companyId: string; sequence: number; eventType: "RECEIPT" | "ISSUE" | "COST_ADJUSTMENT"; quantityBefore: string; unitCostBefore: string; quantity: string; unitCost: string | null; quantityAfter: string; unitCostAfter: string; createdAt: Generated; } BusinessPartner: { id: Generated; name: string; type: "ORGANIZATION" | "INDIVIDUAL"; status: "ACTIVE" | "INACTIVE"; createdAt: Generated; updatedAt: Generated; } Company: { id: Generated; legalName: string; taxId: string | null; registrationNumber: string | null; baseCurrencyId: string | null; street: string | null; city: string | null; state: string | null; postalCode: string | null; country: string | null; status: "DRAFT" | "ACTIVE" | "INACTIVE"; createdAt: Generated; updatedAt: Generated; } CostLayer: { id: Generated; itemId: string; companyId: string; ledgerEntryId: string; effectiveDate: Timestamp; quantity: string; remainingQuantity: string; createdAt: Generated; updatedAt: Generated; } CostLayerConsumption: { id: Generated; costLayerId: string; ledgerEntryId: string; quantity: string; createdAt: Generated; } Currency: { id: Generated; code: string; name: string; symbol: string; decimalPlaces: number; isBaseCurrency: boolean; status: "ACTIVE" | "INACTIVE"; createdAt: Generated; updatedAt: Generated; } CustomerAccount: { id: Generated; partnerId: string; companyId: string; code: string; name: string; preferredCurrencyId: string | null; status: "ACTIVE" | "INACTIVE"; createdAt: Generated; updatedAt: Generated; } CustomerAddressUsage: { id: Generated; accountId: string; addressId: string; purpose: "BILL_TO" | "SHIP_TO"; isDefault: boolean; createdAt: Generated; updatedAt: Generated; } CustomerBankAccountUsage: { id: Generated; accountId: string; bankAccountId: string; purpose: "RECEIPT" | "REFUND"; isDefault: boolean; createdAt: Generated; updatedAt: Generated; } Department: { id: Generated; code: string; name: string; companyId: string; parentDepartmentId: string | null; status: "ACTIVE" | "INACTIVE"; createdAt: Generated; updatedAt: Generated; } ExchangeRate: { id: Generated; sourceCurrencyId: string; targetCurrencyId: string; rate: number; effectiveDate: Timestamp; createdAt: Generated; updatedAt: Generated; } FifoCost: { id: Generated; costLayerId: string; version: number; unitCost: string; createdAt: Generated; } FiscalYear: { id: Generated; companyId: string; name: string; startDate: Timestamp; endDate: Timestamp; yearEndCloseExecuted: boolean; createdAt: Generated; updatedAt: Generated; } InboundShipment: { id: Generated; status: "DRAFT" | "CANCELLED" | "POSTED"; effectiveDate: Timestamp; postedAt: Timestamp | null; docNumber: Serial; createdAt: Generated; updatedAt: Generated; } InboundShipmentLine: { id: Generated; inboundShipmentId: string; itemId: string; quantity: string; unitId: string; primaryQuantity: string; primaryUnitId: string; unitConversionRate: string; unitCost: string | null; storageLocationId: string; stockType: "AVAILABLE" | "BLOCKED" | "IN_TRANSIT"; sourceDocumentType: "PURCHASE_ORDER"; sourceDocumentId: string; sourceLineId: string; createdAt: Generated; updatedAt: Generated; } IncomingPayment: { id: Generated; companyId: string; customerAccountId: string; currencyId: string; paymentAccountId: string; paymentDate: Timestamp; totalAmount: string; status: "DRAFT" | "POSTED" | "CANCELLED" | "REVERSED"; postedAt: Timestamp | null; reversalDate: Timestamp | null; reversedAt: Timestamp | null; cancelledAt: Timestamp | null; createdAt: Generated; updatedAt: Generated; } InventoryLedger: { id: Generated; sourceType: "INBOUND_SHIPMENT" | "OUTBOUND_SHIPMENT" | "TRANSFER_ORDER" | "STOCK_ADJUSTMENT"; sourceId: string; sourceLineId: string | null; orderDocumentType: "PURCHASE_ORDER" | "SALES_ORDER" | "TRANSFER_ORDER" | null; orderDocumentId: string | null; orderDocumentLineId: string | null; direction: "IN" | "OUT"; action: "QUANTITY_CHANGE" | "TRANSFER" | "STOCK_TYPE_CHANGE"; itemId: string; storageLocationId: string; stockType: "AVAILABLE" | "BLOCKED" | "IN_TRANSIT"; quantity: string; executedAt: Timestamp; effectiveDate: Timestamp; createdAt: Generated; } InventorySupplyPlan: { id: Generated; sourceType: "PURCHASE_ORDER" | "TRANSFER_ORDER"; sourceId: string; sourceLineId: string; itemId: string; siteId: string; expectedQuantity: string; receivedQuantity: string; status: "OPEN" | "CLOSED"; expectedDate: Timestamp; createdAt: Generated; updatedAt: Generated; } InvoiceToleranceConfig: { id: Generated; companyId: string; supplierAccountId: string; quantityAbsoluteTolerance: string | null; quantityPercentageTolerance: string | null; unitPriceAbsoluteTolerance: string | null; unitPricePercentageTolerance: string | null; createdAt: Generated; updatedAt: Generated; } Item: { id: Generated; sku: string; name: string; barcode: string | null; unitId: string; status: "DRAFT" | "ACTIVE" | "INACTIVE"; createdAt: Generated; updatedAt: Generated; } ItemTaxonomyAssignment: { id: Generated; itemId: string; taxonomyNodeId: string; createdAt: Generated; updatedAt: Generated; } ItemValuation: { id: Generated; itemId: string; companyId: string; valuationPolicyId: string; createdAt: Generated; updatedAt: Generated; } JournalEntry: { id: Generated; companyId: string; accountingPeriodId: string; entryDate: Timestamp; status: "DRAFT" | "CANCELLED" | "POSTED"; description: string | null; sourceDocumentType: "ACCOUNT_PAYABLE_DOCUMENT" | "OUTGOING_PAYMENT" | "INCOMING_PAYMENT" | "BANK_RECONCILIATION" | "SALES_INVOICE" | "INVENTORY_LEDGER" | "STANDARD_COST_REVISION" | "ACQUISITION_COST_ADJUSTMENT" | "PRODUCTION_ORDER" | "YEAR_END_CLOSE" | null; sourceDocumentId: string | null; reversalOfId: string | null; postedAt: Timestamp | null; createdAt: Generated; updatedAt: Generated; } JournalLine: { id: Generated; journalEntryId: string; accountId: string; debitAmount: string | null; creditAmount: string | null; description: string | null; createdAt: Generated; updatedAt: Generated; } OutboundShipment: { id: Generated; status: "DRAFT" | "CANCELLED" | "POSTED"; effectiveDate: Timestamp; postedAt: Timestamp | null; docNumber: Serial; createdAt: Generated; updatedAt: Generated; } OutboundShipmentLine: { id: Generated; outboundShipmentId: string; itemId: string; quantity: string; unitId: string; primaryQuantity: string; primaryUnitId: string; unitConversionRate: string; storageLocationId: string; stockType: "AVAILABLE" | "BLOCKED" | "IN_TRANSIT"; sourceDocumentType: "SALES_ORDER"; sourceDocumentId: string; sourceLineId: string; createdAt: Generated; updatedAt: Generated; } OutgoingPayment: { id: Generated; companyId: string; supplierAccountId: string; currencyId: string; paymentAccountId: string; paymentDate: Timestamp; totalAmount: string; status: "DRAFT" | "POSTED" | "CANCELLED" | "REVERSED"; postedAt: Timestamp | null; reversalDate: Timestamp | null; reversedAt: Timestamp | null; cancelledAt: Timestamp | null; createdAt: Generated; updatedAt: Generated; } PartnerAddress: { id: Generated; partnerId: string; active: boolean; line1: string; line2: string | null; city: string; state: string | null; postalCode: string; country: string; createdAt: Generated; updatedAt: Generated; } PartnerBankAccount: { id: Generated; partnerId: string; active: boolean; bankName: string; accountHolderName: string; accountNumber: string; routingNumber: string | null; currencyId: string; createdAt: Generated; updatedAt: Generated; } Product: { id: Generated; code: string; name: string; description: string | null; unitId: string; status: "DRAFT" | "ACTIVE" | "ARCHIVED"; createdAt: Generated; updatedAt: Generated; } ProductAttribute: { id: Generated; code: string; name: string; createdAt: Generated; updatedAt: Generated; } ProductAttributeAssignment: { id: Generated; productId: string; attributeId: string; valueId: string; createdAt: Generated; updatedAt: Generated; } ProductAttributeValue: { id: Generated; attributeId: string; label: string; createdAt: Generated; updatedAt: Generated; } ProductCategory: { id: Generated; code: string; name: string; parentId: string | null; createdAt: Generated; updatedAt: Generated; } ProductCategoryAssignment: { id: Generated; productId: string; categoryId: string; createdAt: Generated; updatedAt: Generated; } ProductVariant: { id: Generated; productId: string; axisValueKey: string; itemId: string; createdAt: Generated; updatedAt: Generated; } PurchaseItem: { id: Generated; itemId: string; requiresPhysicalReceipt: boolean; createdAt: Generated; updatedAt: Generated; } PurchaseOrder: { id: Generated; companyId: string; supplierAccountId: string; currencyId: string; receivingSiteId: string | null; orderStatus: "DRAFT" | "SUBMITTED" | "ORDERED" | "CANCELLED" | "CLOSED"; receiptStatus: "NOT_RECEIVED" | "PARTIALLY_RECEIVED" | "RECEIVED" | null; billingStatus: "NOT_BILLED" | "PARTIALLY_BILLED" | "BILLED" | null; orderDate: Timestamp; externalSupplierOrderReference: string | null; supplierSnapshotName: string | null; rejectionReason: string | null; closeReason: string | null; docNumber: Serial; createdAt: Generated; updatedAt: Generated; } PurchaseOrderFieldChange: { id: Generated; revisionId: string; recordType: "HEADER" | "LINE"; recordId: string; fieldName: string; changeKind: "ADDED" | "MODIFIED" | "REMOVED"; oldValue: string | null; newValue: string | null; createdAt: Generated; updatedAt: Generated; } PurchaseOrderLine: { id: Generated; purchaseOrderId: string; itemId: string; itemSnapshotName: string | null; itemSnapshotSku: string | null; quantity: string; unitPrice: string; unitId: string; receivingSiteId: string | null; requiresPhysicalReceipt: boolean; billedQuantity: Generated; receivedQuantity: Generated; createdAt: Generated; updatedAt: Generated; } PurchaseOrderRevision: { id: Generated; purchaseOrderId: string; revisionNumber: number; reason: string | null; amendedByUserId: string | null; createdAt: Generated; updatedAt: Generated; } Role: { id: Generated; name: string; description: string | null; status: "ACTIVE" | "INACTIVE"; permissions: string[] | null; createdAt: Generated; updatedAt: Generated; } SalesItem: { id: Generated; itemId: string; requiresPhysicalFulfillment: boolean; createdAt: Generated; updatedAt: Generated; } SalesOrder: { id: Generated; companyId: string; customerAccountId: string; currencyId: string; orderStatus: "DRAFT" | "SUBMITTED" | "CONFIRMED" | "CANCELLED" | "CLOSED"; fulfillmentStatus: "NOT_FULFILLED" | "PARTIALLY_FULFILLED" | "FULFILLED" | null; billingStatus: "NOT_BILLED" | "PARTIALLY_BILLED" | "BILLED" | null; orderDate: Timestamp; shippingAddress: string | null; billingAddress: string | null; rejectionReason: string | null; closeReason: string | null; docNumber: Serial; createdAt: Generated; updatedAt: Generated; } SalesOrderFieldChange: { id: Generated; revisionId: string; recordType: "HEADER" | "LINE"; recordId: string; fieldName: string; changeKind: "ADDED" | "MODIFIED" | "REMOVED"; oldValue: string | null; newValue: string | null; createdAt: Generated; updatedAt: Generated; } SalesOrderLine: { id: Generated; salesOrderId: string; itemId: string; description: string | null; quantity: string; unitPrice: string; unitId: string | null; requiresPhysicalFulfillment: boolean; fulfilledQuantity: Generated; billedQuantity: Generated; createdAt: Generated; updatedAt: Generated; } SalesOrderRevision: { id: Generated; salesOrderId: string; revisionNumber: number; reason: string | null; amendedByUserId: string | null; createdAt: Generated; updatedAt: Generated; } Site: { id: Generated; name: string; type: string; companyId: string; street: string; city: string; state: string | null; postalCode: string; country: string; timezone: string; status: "ACTIVE" | "INACTIVE"; createdAt: Generated; updatedAt: Generated; } StandardCost: { id: Generated; itemId: string; version: number; unitCost: string; createdAt: Generated; } StockAdjustment: { id: Generated; adjustmentType: "CORRECTION" | "SCRAP" | "BLOCK" | "UNBLOCK"; status: "DRAFT" | "SUBMITTED" | "CANCELLED" | "CONFIRMED" | "REJECTED"; reasonCode: string; adjustmentDate: Timestamp; rejectionReason: string | null; createdAt: Generated; updatedAt: Generated; } StockAdjustmentLine: { id: Generated; stockAdjustmentId: string; itemId: string; storageLocationId: string; quantity: string; adjustmentDirection: "INCREASE" | "DECREASE" | null; fromStockCategory: "AVAILABLE" | "BLOCKED" | null; unitCost: string | null; createdAt: Generated; updatedAt: Generated; } StockLevel: { id: Generated; itemId: string; storageLocationId: string; stockType: "AVAILABLE" | "BLOCKED" | "IN_TRANSIT"; quantity: string; createdAt: Generated; updatedAt: Generated; } StockReservation: { id: Generated; sourceType: "SALES_ORDER" | "TRANSFER_ORDER"; sourceId: string; sourceLineId: string; itemId: string; siteId: string; storageLocationId: string | null; reservedQuantity: string; consumedQuantity: string; status: "OPEN" | "CLOSED"; requiredDate: Timestamp; createdAt: Generated; updatedAt: Generated; } StorageLocation: { id: Generated; name: string; code: string | null; siteId: string; storageCondition: string | null; capacity: string | null; status: "ACTIVE" | "INACTIVE"; createdAt: Generated; updatedAt: Generated; } SupplierAccount: { id: Generated; partnerId: string; companyId: string; code: string; name: string; preferredCurrencyId: string | null; defaultExpenseAccountId: string | null; status: "ACTIVE" | "INACTIVE"; createdAt: Generated; updatedAt: Generated; } SupplierAddressUsage: { id: Generated; accountId: string; addressId: string; purpose: "ORDER_FROM" | "REMIT_TO" | "SHIP_FROM" | "RETURN_TO"; isDefault: boolean; createdAt: Generated; updatedAt: Generated; } SupplierBankAccountUsage: { id: Generated; accountId: string; bankAccountId: string; purpose: "PAYMENT" | "REFUND"; isDefault: boolean; createdAt: Generated; updatedAt: Generated; } TaxonomyNode: { id: Generated; code: string; name: string; parentId: string | null; createdAt: Generated; updatedAt: Generated; } TransferOrder: { id: Generated; sourceSiteId: string; destinationSiteId: string; plannedShipmentDate: Timestamp; expectedReceiptDate: Timestamp; status: "DRAFT" | "OPEN" | "CLOSED"; closedAt: Timestamp | null; docNumber: Serial; notes: string | null; createdAt: Generated; updatedAt: Generated; } TransferOrderLine: { id: Generated; transferOrderId: string; itemId: string; unitId: string; orderedQuantity: string; shippedQuantity: string; receivedQuantity: string; createdAt: Generated; updatedAt: Generated; } Unit: { id: Generated; name: string; symbol: string; categoryId: string; conversionFactor: number; roundingPrecision: number; status: "ACTIVE" | "INACTIVE"; createdAt: Generated; updatedAt: Generated; } UoMCategory: { id: Generated; name: string; description: string | null; referenceUnitId: string | null; status: "ACTIVE" | "INACTIVE"; createdAt: Generated; updatedAt: Generated; } User: { id: Generated; email: string; name: string; status: "PENDING" | "ACTIVE" | "INACTIVE"; permissions: string[] | null; createdAt: Generated; updatedAt: Generated; } UserRole: { id: Generated; userId: string; roleId: string; createdAt: Generated; updatedAt: Generated; } ValuationPolicy: { id: Generated; name: string; companyId: string; costingMethod: "STANDARD" | "FIFO" | "AVERAGE"; defaultCompanyId: string | null; inventoryAccountId: string; accrualAccountId: string; invoicePriceVarianceAccountId: string; cogsAccountId: string; ppvAccountId: string; adjustmentAccountId: string; standardCostAdjustmentAccountId: string; consumedPriceVarianceAccountId: string; createdAt: Generated; updatedAt: Generated; } } } export const getDB = createGetDB(); export type DB = NamespaceDB; export type Transaction = NamespaceTransaction; type TableName = NamespaceTableName; export type Table = NamespaceTable; export type Insertable = NamespaceInsertable; export type Selectable = NamespaceSelectable; export type Updateable = NamespaceUpdateable;