# Variable: transaction

```ts
const transaction: object & Typed<{
  amount: {
     amount: string;
     currency: string;
  };
  category?: string;
  cleared?: boolean;
  date: string;
  note?: string;
  payee?: string;
}>;
```

Defined in: [packages/core/src/schemas/library/money.ts:101](https://github.com/leifriksheim/minca/blob/main/core/src/schemas/library/money.ts#L101)

Money in or out of an account: negative amounts are out.

## Type Declaration

### description

```ts
readonly description: "Money in or out of a std.money-account. To split a cost with others, use std.expense." = 'Money in or out of a std.money-account. To split a cost with others, use std.expense.';
```

### links

```ts
readonly links: object;
```

#### links.in

```ts
readonly in: LinkDeclaration;
```

### name

```ts
readonly name: "std.transaction" = 'std.transaction';
```

### schema

```ts
readonly schema: object;
```

#### schema.properties

```ts
readonly properties: object;
```

#### schema.properties.amount

```ts
readonly amount: object & object;
```

##### Type Declaration

###### properties

```ts
properties: object;
```

###### properties.amount

```ts
amount: object;
```

###### properties.amount.maxLength

```ts
maxLength: number = max;
```

###### properties.amount.minLength?

```ts
minLength?: number = min;
```

###### properties.amount.type

```ts
type: "string";
```

###### properties.currency

```ts
currency: object;
```

###### properties.currency.maxLength

```ts
maxLength: number = 3;
```

###### properties.currency.minLength

```ts
minLength: number = 3;
```

###### properties.currency.type

```ts
type: "string";
```

###### required

```ts
required: readonly ["amount", "currency"];
```

###### type

```ts
type: "object";
```

###### x-kind

```ts
readonly "x-kind": "money";
```

#### schema.properties.category

```ts
readonly category: object;
```

#### schema.properties.category.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.category.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.category.type

```ts
type: "string";
```

#### schema.properties.cleared

```ts
readonly cleared: object;
```

#### schema.properties.cleared.type

```ts
readonly type: "boolean" = 'boolean';
```

#### schema.properties.date

```ts
readonly date: object & object;
```

##### Type Declaration

###### maxLength

```ts
maxLength: number = 10;
```

###### minLength

```ts
minLength: number = 10;
```

###### type

```ts
type: "string";
```

###### x-kind

```ts
readonly "x-kind": "day";
```

#### schema.properties.note

```ts
readonly note: object;
```

#### schema.properties.note.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.note.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.note.type

```ts
type: "string";
```

#### schema.properties.payee

```ts
readonly payee: object;
```

#### schema.properties.payee.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.payee.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.payee.type

```ts
type: "string";
```

#### schema.required

```ts
readonly required: readonly ["amount", "date"];
```

#### schema.type

```ts
readonly type: "object" = 'object';
```

### title

```ts
readonly title: "Transaction" = 'Transaction';
```
