- Fix "Manage Billing" button error for trial orgs without Stripe customer; add fallback to retrieve customer from subscription, show helpful message for trial users, and surface real error messages in the UI - Add "Balance As-Of Date" field to onboarding wizard so opening balance journal entries use the correct statement date instead of today - Add "Total Unit Count" field to onboarding wizard assessment group step so cash flow projections work immediately - Remove broken budget upload step from onboarding wizard (was using legacy budgets endpoint); replace with guidance to use Budget Planning page - Replace bare "No budget plan lines" text with rich onboarding-style card featuring download template and upload CSV action buttons Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
49 lines
1.3 KiB
TypeScript
49 lines
1.3 KiB
TypeScript
import { IsString, IsOptional, IsBoolean, IsIn, IsUUID } from 'class-validator';
|
|
import { ApiProperty } from '@nestjs/swagger';
|
|
|
|
export class CreateAccountDto {
|
|
@ApiProperty({ example: '6600' })
|
|
@IsString()
|
|
accountNumber: string;
|
|
|
|
@ApiProperty({ example: 'Equipment Repairs' })
|
|
@IsString()
|
|
name: string;
|
|
|
|
@ApiProperty({ required: false })
|
|
@IsString()
|
|
@IsOptional()
|
|
description?: string;
|
|
|
|
@ApiProperty({ example: 'expense', enum: ['asset', 'liability', 'equity', 'income', 'expense'] })
|
|
@IsIn(['asset', 'liability', 'equity', 'income', 'expense'])
|
|
accountType: string;
|
|
|
|
@ApiProperty({ example: 'operating', enum: ['operating', 'reserve'] })
|
|
@IsIn(['operating', 'reserve'])
|
|
fundType: string;
|
|
|
|
@ApiProperty({ required: false })
|
|
@IsUUID()
|
|
@IsOptional()
|
|
parentAccountId?: string;
|
|
|
|
@ApiProperty({ required: false, default: false })
|
|
@IsBoolean()
|
|
@IsOptional()
|
|
is1099Reportable?: boolean;
|
|
|
|
@ApiProperty({ required: false, default: 0 })
|
|
@IsOptional()
|
|
initialBalance?: number;
|
|
|
|
@ApiProperty({ required: false, description: 'ISO date string (YYYY-MM-DD) for when the initial balance was accurate' })
|
|
@IsString()
|
|
@IsOptional()
|
|
initialBalanceDate?: string;
|
|
|
|
@ApiProperty({ required: false, description: 'Annual interest rate as a percentage' })
|
|
@IsOptional()
|
|
interestRate?: number;
|
|
}
|