Files
inven/lib/types.ts

171 lines
3.3 KiB
TypeScript
Raw Normal View History

2026-03-23 16:16:45 -05:00
export type DashboardStats = {
totalParts: number;
totalAssemblies: number;
activeCustomers: number;
activeVendors: number;
openSalesOrders: number;
openPurchaseOrders: number;
openInvoices: number;
openVendorBills: number;
lowStockCount: number;
inventoryValue: number;
accountsReceivable: number;
accountsPayable: number;
};
export type PartRow = {
id: number;
sku: string;
name: string;
kind: "part" | "assembly";
unitCost: number;
salePrice: number;
reorderPoint: number;
unitOfMeasure: string;
quantityOnHand: number;
};
export type KitRow = {
assemblySku: string;
assemblyName: string;
componentSku: string;
componentName: string;
quantity: number;
};
export type ContactRow = {
id: number;
code: string;
name: string;
email: string | null;
phone: string | null;
};
2026-03-23 16:56:23 -05:00
export type OrderItemOption = {
id: number;
sku: string;
name: string;
kind: "part" | "assembly";
quantityOnHand: number;
salePrice: number;
unitCost: number;
unitOfMeasure: string;
};
2026-03-23 16:16:45 -05:00
export type SalesOrderListRow = {
id: number;
orderNumber: string;
customerName: string;
status: string;
createdAt: string;
totalAmount: number;
orderedQuantity: number;
fulfilledQuantity: number;
};
export type PurchaseOrderListRow = {
id: number;
orderNumber: string;
vendorName: string;
status: string;
createdAt: string;
totalAmount: number;
orderedQuantity: number;
fulfilledQuantity: number;
};
export type JournalEntryRow = {
id: number;
entryType: string;
referenceType: string;
referenceId: number | null;
description: string;
createdAt: string;
lines: Array<{
accountCode: string;
accountName: string;
debit: number;
credit: number;
}>;
};
export type AccountRow = {
code: string;
name: string;
category: "asset" | "liability" | "equity" | "revenue" | "expense";
isSystem: number;
};
export type AccountBalanceRow = {
code: string;
name: string;
category: "asset" | "liability" | "equity" | "revenue" | "expense";
debitTotal: number;
creditTotal: number;
balance: number;
};
export type LowStockRow = {
id: number;
sku: string;
name: string;
unitOfMeasure: string;
quantityOnHand: number;
reorderPoint: number;
suggestedReorderQuantity: number;
preferredVendorName: string | null;
};
export type InvoiceRow = {
id: number;
invoiceNumber: string;
salesOrderId: number | null;
customerName: string;
status: string;
invoiceDate: string;
dueDate: string | null;
totalAmount: number;
paidAmount: number;
balanceDue: number;
};
export type VendorBillRow = {
id: number;
billNumber: string;
purchaseOrderId: number | null;
vendorName: string;
status: string;
billDate: string;
dueDate: string | null;
totalAmount: number;
paidAmount: number;
balanceDue: number;
};
2026-03-23 17:12:35 -05:00
export type SalesOrderLineDetailRow = {
lineId: number;
salesOrderId: number;
partId: number;
sku: string;
partName: string;
quantity: number;
fulfilledQuantity: number;
remainingQuantity: number;
unitPrice: number;
quantityOnHand: number;
unitOfMeasure: string;
};
export type PurchaseOrderLineDetailRow = {
lineId: number;
purchaseOrderId: number;
partId: number;
sku: string;
partName: string;
quantity: number;
fulfilledQuantity: number;
remainingQuantity: number;
unitCost: number;
unitOfMeasure: string;
};