WIP: Allocate landed cost.

This commit is contained in:
a.bouhuolia
2021-07-22 18:11:17 +02:00
parent 1eacc254d8
commit 76c6cb3699
33 changed files with 1577 additions and 163 deletions

View File

@@ -1,64 +1,69 @@
import { IDynamicListFilterDTO } from "./DynamicFilter";
import { IItemEntry, IItemEntryDTO } from "./ItemEntry";
import { IDynamicListFilterDTO } from './DynamicFilter';
import { IItemEntry, IItemEntryDTO } from './ItemEntry';
export interface IBillDTO {
vendorId: number,
billNumber: string,
billDate: Date,
dueDate: Date,
referenceNo: string,
status: string,
note: string,
amount: number,
paymentAmount: number,
open: boolean,
entries: IItemEntryDTO[],
};
vendorId: number;
billNumber: string;
billDate: Date;
dueDate: Date;
referenceNo: string;
status: string;
note: string;
amount: number;
paymentAmount: number;
open: boolean;
entries: IItemEntryDTO[];
}
export interface IBillEditDTO {
vendorId: number,
billNumber: string,
billDate: Date,
dueDate: Date,
referenceNo: string,
status: string,
note: string,
amount: number,
paymentAmount: number,
open: boolean,
entries: IItemEntryDTO[],
};
vendorId: number;
billNumber: string;
billDate: Date;
dueDate: Date;
referenceNo: string;
status: string;
note: string;
amount: number;
paymentAmount: number;
open: boolean;
entries: IItemEntryDTO[];
}
export interface IBill {
id?: number,
id?: number;
vendorId: number,
billNumber: string,
billDate: Date,
dueDate: Date,
referenceNo: string,
status: string,
note: string,
amount: number,
paymentAmount: number,
currencyCode: string,
vendorId: number;
billNumber: string;
billDate: Date;
dueDate: Date;
referenceNo: string;
status: string;
note: string;
dueAmount: number,
overdueDays: number,
amount: number;
allocatedCostAmount: number;
landedCostAmount: number;
unallocatedCostAmount: number;
openedAt: Date | string,
paymentAmount: number;
currencyCode: string;
entries: IItemEntry[],
userId: number,
dueAmount: number;
overdueDays: number;
createdAt: Date,
updateAt: Date,
};
openedAt: Date | string;
export interface IBillsFilter extends IDynamicListFilterDTO {
stringifiedFilterRoles?: string,
entries: IItemEntry[];
userId: number;
createdAt: Date;
updateAt: Date;
}
export interface IBillsFilter extends IDynamicListFilterDTO {
stringifiedFilterRoles?: string;
}
export interface IBillsService {
validateVendorHasNoBills(tenantId: number, vendorId: number): Promise<void>;
}
}

View File

@@ -27,15 +27,20 @@ export interface IExpense {
userId: number;
paymentDate: Date;
payeeId: number;
landedCostAmount: number;
allocatedCostAmount: number;
unallocatedCostAmount: number;
categories: IExpenseCategory[];
}
export interface IExpenseCategory {
id?: number;
expenseAccountId: number;
index: number;
description: string;
expenseId: number;
amount: number;
landedCost: boolean;
}
export interface IExpenseDTO {
@@ -56,6 +61,7 @@ export interface IExpenseCategoryDTO {
index: number;
description?: string;
expenseId: number;
landedCost?: boolean;
}
export interface IExpensesService {

View File

@@ -17,8 +17,10 @@ export interface IItemEntry {
sellAccountId: number,
costAccountId: number,
landedCost?: boolean,
}
export interface IItemEntryDTO {
landedCost?: boolean
}

View File

@@ -0,0 +1,85 @@
export interface IBillLandedCost {
fromTransactionId: number;
fromTransactionType: string;
amount: number;
BillId: number;
}
export interface IBillLandedCostEntry {
id?: number,
cost: number,
entryId: number,
billLocatedCostId: number,
}
export interface ILandedCostItemDTO {
entryId: number,
cost: number;
}
export type ILandedCostType = 'Expense' | 'Bill';
export interface ILandedCostDTO {
transactionType: ILandedCostType;
transactionId: number;
transactionEntryId: number,
allocationMethod: string;
description: string;
items: ILandedCostItemDTO[];
}
export interface ILandedCostQueryDTO {
vendorId: number;
fromDate: Date;
toDate: Date;
}
export interface IUnallocatedListCost {
costNumber: string;
costAmount: number;
unallocatedAmount: number;
}
export interface ILandedCostTransactionsQueryDTO {
transactionType: string,
date: Date,
}
export interface ILandedCostEntriesQueryDTO {
transactionType: string,
transactionId: number,
}
export interface ILandedCostTransaction {
id: number;
name: string;
amount: number;
allocatedCostAmount: number;
unallocatedCostAmount: number;
transactionType: string;
entries?: ILandedCostTransactionEntry[];
}
export interface ILandedCostTransactionEntry {
id: number;
name: string;
code: string;
amount: number;
description: string;
}
interface ILandedCostEntry {
id: number;
landedCost?: boolean;
}
export interface IBillLandedCostTransaction {
id: number,
fromTranscationId: number,
fromTransactionType: string;
fromTransactionEntryId: number;
billId: number,
allocationMethod: string;
costAccountId: number,
description: string;
};

View File

@@ -53,6 +53,7 @@ export * from './Table';
export * from './Ledger';
export * from './CashFlow';
export * from './InventoryDetails';
export * from './LandedCost';
export interface I18nService {
__: (input: string) => string;