Task Financials
Task revenue, expenses, hours, rollups, and financial item calculations.
externalpermissionstable8 procedures
query
taskFinancials.getByTaskIdInferred outputGet all financial data for a task. Returns revenue, expenses, hours items with calculated totals.
Input
{
taskId: string;
}Output
TaskFinancialsquery
taskFinancials.getByTaskIdsInferred outputBatch fetch financial data for multiple tasks. Returns a record of taskId → financials. Max 100 task IDs per request.
Input
{
taskIds: Array<string>;
}Output
Record<string, TaskFinancials>mutation
taskFinancials.createRevenueInferred outputNo description provided.
Input
{
taskId: string;
name: string;
calculationType: "fixed" | "fixed_periodic" | "from_expenses" | "from_hours" | "from_allocations" | "sum_of_children_auto" | "formula";
projectVersionId: string;
id?: string | undefined;
description?: string | null | undefined;
tags?: Array<string> | undefined;
formula?: string | null | undefined;
frequency?: "one_time" | "daily" | "weekly" | "fortnightly" | "monthly" | "quarterly" | "yearly" | null | undefined;
basePercentage?: string | null | undefined;
rateId?: string | null | undefined;
modifiers?: Array<{
id: string;
value: string;
type: "percentage" | "amount";
name: string;
}> | undefined;
dependentAllocationIds?: Array<string> | undefined;
displayOrder?: number | undefined;
categoryId?: string | null | undefined;
typeId?: string | null | undefined;
baseAmount?: string | null | undefined;
unitLabel?: string | null | undefined;
pricingMode?: "markup" | "target_margin" | null | undefined;
dependentRevenueIds?: Array<string> | undefined;
dependentExpenseIds?: Array<string> | undefined;
allocationRateOverrides?: Array<{
rateId: string | null;
allocationId: string;
customRate?: number | null | undefined;
}> | undefined;
deductPrevious?: boolean | undefined;
deductScope?: "same_parent" | "same_project" | "selected" | null | undefined;
deductFromIds?: Array<string> | undefined;
floor?: string | null | undefined;
cap?: string | null | undefined;
isLocked?: boolean | undefined;
isVisible?: boolean | undefined;
}Output
{
id: string;
organizationId: string;
taskId: string;
versionId: string;
name: string;
createdAt: Date;
updatedAt: Date | null;
deletedAt: Date | null;
description: string | null;
tags: Array<string> | null;
formula: string | null;
calculationType: "fixed" | "fixed_periodic" | "from_expenses" | "from_hours" | "from_allocations" | "sum_of_children_auto" | "formula";
frequency: "one_time" | "daily" | "weekly" | "fortnightly" | "monthly" | "quarterly" | "yearly" | null;
basePercentage: string | null;
rateId: string | null;
modifiers: Array<FinancialModifier> | null;
dependentAllocationIds: Array<string> | null;
displayOrder: number | null;
categoryId: string | null;
typeId: string | null;
baseAmount: string | null;
unitLabel: string | null;
pricingMode: string | null;
dependentRevenueIds: Array<string> | null;
dependentExpenseIds: Array<string> | null;
allocationRateOverrides: Array<{
allocationId: string;
rateId: string | null;
customRate?: number | null | undefined;
}> | null;
deductPrevious: boolean | null;
deductScope: "same_parent" | "same_project" | "selected" | null;
deductFromIds: Array<string> | null;
floor: string | null;
cap: string | null;
calculatedBaseValue: string | null;
calculatedValue: string | null;
modifierBreakdown: unknown;
isLocked: boolean | null;
isVisible: boolean | null;
isSystemGenerated: boolean | null;
} | nullmutation
taskFinancials.updateRevenueInferred outputNo description provided.
Input
{
id: string;
}Output
{
id: string;
organizationId: string;
taskId: string;
versionId: string;
name: string;
createdAt: Date;
updatedAt: Date | null;
deletedAt: Date | null;
description: string | null;
tags: Array<string> | null;
formula: string | null;
calculationType: "fixed" | "fixed_periodic" | "from_expenses" | "from_hours" | "from_allocations" | "sum_of_children_auto" | "formula";
frequency: "one_time" | "daily" | "weekly" | "fortnightly" | "monthly" | "quarterly" | "yearly" | null;
basePercentage: string | null;
rateId: string | null;
modifiers: Array<FinancialModifier> | null;
dependentAllocationIds: Array<string> | null;
displayOrder: number | null;
categoryId: string | null;
typeId: string | null;
baseAmount: string | null;
unitLabel: string | null;
pricingMode: string | null;
dependentRevenueIds: Array<string> | null;
dependentExpenseIds: Array<string> | null;
allocationRateOverrides: Array<{
allocationId: string;
rateId: string | null;
customRate?: number | null | undefined;
}> | null;
deductPrevious: boolean | null;
deductScope: "same_parent" | "same_project" | "selected" | null;
deductFromIds: Array<string> | null;
floor: string | null;
cap: string | null;
calculatedBaseValue: string | null;
calculatedValue: string | null;
modifierBreakdown: unknown;
isLocked: boolean | null;
isVisible: boolean | null;
isSystemGenerated: boolean | null;
} | nullmutation
taskFinancials.deleteRevenueInferred outputNo description provided.
Input
{
id: string;
}Output
{
id: string;
organizationId: string;
taskId: string;
versionId: string;
name: string;
createdAt: Date;
updatedAt: Date | null;
deletedAt: Date | null;
description: string | null;
tags: Array<string> | null;
formula: string | null;
calculationType: "fixed" | "fixed_periodic" | "from_expenses" | "from_hours" | "from_allocations" | "sum_of_children_auto" | "formula";
frequency: "one_time" | "daily" | "weekly" | "fortnightly" | "monthly" | "quarterly" | "yearly" | null;
basePercentage: string | null;
rateId: string | null;
modifiers: Array<FinancialModifier> | null;
dependentAllocationIds: Array<string> | null;
displayOrder: number | null;
categoryId: string | null;
typeId: string | null;
baseAmount: string | null;
unitLabel: string | null;
pricingMode: string | null;
dependentRevenueIds: Array<string> | null;
dependentExpenseIds: Array<string> | null;
allocationRateOverrides: Array<{
allocationId: string;
rateId: string | null;
customRate?: number | null | undefined;
}> | null;
deductPrevious: boolean | null;
deductScope: "same_parent" | "same_project" | "selected" | null;
deductFromIds: Array<string> | null;
floor: string | null;
cap: string | null;
calculatedBaseValue: string | null;
calculatedValue: string | null;
modifierBreakdown: unknown;
isLocked: boolean | null;
isVisible: boolean | null;
isSystemGenerated: boolean | null;
} | nullmutation
taskFinancials.createExpenseInferred outputNo description provided.
Input
{
taskId: string;
name: string;
calculationType: "fixed" | "fixed_periodic" | "from_expenses" | "from_hours" | "from_allocations" | "sum_of_children_auto" | "formula";
projectVersionId: string;
id?: string | undefined;
description?: string | null | undefined;
tags?: Array<string> | undefined;
startDate?: string | null | undefined;
endDate?: string | null | undefined;
formula?: string | null | undefined;
frequency?: "one_time" | "daily" | "weekly" | "fortnightly" | "monthly" | "quarterly" | "yearly" | null | undefined;
basePercentage?: string | null | undefined;
rateId?: string | null | undefined;
modifiers?: Array<{
id: string;
value: string;
type: "percentage" | "amount";
name: string;
}> | undefined;
dependentAllocationIds?: Array<string> | undefined;
isBillable?: boolean | undefined;
supplierId?: string | null | undefined;
displayOrder?: number | undefined;
categoryId?: string | null | undefined;
typeId?: string | null | undefined;
baseAmount?: string | null | undefined;
unitLabel?: string | null | undefined;
pricingMode?: "markup" | "target_margin" | null | undefined;
dependentRevenueIds?: Array<string> | undefined;
dependentExpenseIds?: Array<string> | undefined;
allocationRateOverrides?: Array<{
rateId: string | null;
allocationId: string;
customRate?: number | null | undefined;
}> | undefined;
deductPrevious?: boolean | undefined;
deductScope?: "same_parent" | "same_project" | "selected" | null | undefined;
deductFromIds?: Array<string> | undefined;
floor?: string | null | undefined;
cap?: string | null | undefined;
isLocked?: boolean | undefined;
isVisible?: boolean | undefined;
billableMarkup?: string | null | undefined;
}Output
{
id: string;
organizationId: string;
taskId: string;
versionId: string;
name: string;
createdAt: Date;
updatedAt: Date | null;
deletedAt: Date | null;
description: string | null;
tags: Array<string> | null;
startDate: string | null;
endDate: string | null;
formula: string | null;
calculationType: "fixed" | "fixed_periodic" | "from_expenses" | "from_hours" | "from_allocations" | "sum_of_children_auto" | "formula";
frequency: "one_time" | "daily" | "weekly" | "fortnightly" | "monthly" | "quarterly" | "yearly" | null;
basePercentage: string | null;
rateId: string | null;
modifiers: Array<FinancialModifier> | null;
dependentAllocationIds: Array<string> | null;
isBillable: boolean | null;
supplierId: string | null;
displayOrder: number | null;
categoryId: string | null;
typeId: string | null;
baseAmount: string | null;
unitLabel: string | null;
pricingMode: string | null;
dependentRevenueIds: Array<string> | null;
dependentExpenseIds: Array<string> | null;
allocationRateOverrides: Array<{
allocationId: string;
rateId: string | null;
customRate?: number | null | undefined;
}> | null;
deductPrevious: boolean | null;
deductScope: "same_parent" | "same_project" | "selected" | null;
deductFromIds: Array<string> | null;
floor: string | null;
cap: string | null;
calculatedBaseValue: string | null;
calculatedValue: string | null;
modifierBreakdown: unknown;
isLocked: boolean | null;
isVisible: boolean | null;
isSystemGenerated: boolean | null;
billableMarkup: string | null;
} | nullmutation
taskFinancials.updateExpenseInferred outputNo description provided.
Input
{
id: string;
startDate?: string | null | undefined;
endDate?: string | null | undefined;
isBillable?: boolean | undefined;
supplierId?: string | null | undefined;
billableMarkup?: string | null | undefined;
}Output
{
id: string;
organizationId: string;
taskId: string;
versionId: string;
name: string;
createdAt: Date;
updatedAt: Date | null;
deletedAt: Date | null;
description: string | null;
tags: Array<string> | null;
startDate: string | null;
endDate: string | null;
formula: string | null;
calculationType: "fixed" | "fixed_periodic" | "from_expenses" | "from_hours" | "from_allocations" | "sum_of_children_auto" | "formula";
frequency: "one_time" | "daily" | "weekly" | "fortnightly" | "monthly" | "quarterly" | "yearly" | null;
basePercentage: string | null;
rateId: string | null;
modifiers: Array<FinancialModifier> | null;
dependentAllocationIds: Array<string> | null;
isBillable: boolean | null;
supplierId: string | null;
displayOrder: number | null;
categoryId: string | null;
typeId: string | null;
baseAmount: string | null;
unitLabel: string | null;
pricingMode: string | null;
dependentRevenueIds: Array<string> | null;
dependentExpenseIds: Array<string> | null;
allocationRateOverrides: Array<{
allocationId: string;
rateId: string | null;
customRate?: number | null | undefined;
}> | null;
deductPrevious: boolean | null;
deductScope: "same_parent" | "same_project" | "selected" | null;
deductFromIds: Array<string> | null;
floor: string | null;
cap: string | null;
calculatedBaseValue: string | null;
calculatedValue: string | null;
modifierBreakdown: unknown;
isLocked: boolean | null;
isVisible: boolean | null;
isSystemGenerated: boolean | null;
billableMarkup: string | null;
} | nullmutation
taskFinancials.deleteExpenseInferred outputNo description provided.
Input
{
id: string;
}Output
{
id: string;
organizationId: string;
taskId: string;
versionId: string;
name: string;
createdAt: Date;
updatedAt: Date | null;
deletedAt: Date | null;
description: string | null;
tags: Array<string> | null;
startDate: string | null;
endDate: string | null;
formula: string | null;
calculationType: "fixed" | "fixed_periodic" | "from_expenses" | "from_hours" | "from_allocations" | "sum_of_children_auto" | "formula";
frequency: "one_time" | "daily" | "weekly" | "fortnightly" | "monthly" | "quarterly" | "yearly" | null;
basePercentage: string | null;
rateId: string | null;
modifiers: Array<FinancialModifier> | null;
dependentAllocationIds: Array<string> | null;
isBillable: boolean | null;
supplierId: string | null;
displayOrder: number | null;
categoryId: string | null;
typeId: string | null;
baseAmount: string | null;
unitLabel: string | null;
pricingMode: string | null;
dependentRevenueIds: Array<string> | null;
dependentExpenseIds: Array<string> | null;
allocationRateOverrides: Array<{
allocationId: string;
rateId: string | null;
customRate?: number | null | undefined;
}> | null;
deductPrevious: boolean | null;
deductScope: "same_parent" | "same_project" | "selected" | null;
deductFromIds: Array<string> | null;
floor: string | null;
cap: string | null;
calculatedBaseValue: string | null;
calculatedValue: string | null;
modifierBreakdown: unknown;
isLocked: boolean | null;
isVisible: boolean | null;
isSystemGenerated: boolean | null;
billableMarkup: string | null;
} | null