Bug Description
The Manual Journals list endpoint /api/manual-journals ignores page and
pageSize query parameters. Every request always returns page 1 with 12 items,
regardless of the parameters sent.
Root Cause
page and pageSize properties are missing from DynamicFilterQueryDto.
NestJS ValidationPipe with whitelist: true strips unknown properties before
they reach the service layer.
The service (GetManualJournals.service.ts) correctly handles pagination:
const _filterDto = {
page: 1,
pageSize: 12,
...filterDTO, // filterDTO never contains page/pageSize → defaults always used
};
Fix
Add page and pageSize to DynamicFilterQuery.dto.ts:
@ApiPropertyOptional({ description: 'Page number', type: Number })
@IsOptional()
@ToNumber()
page?: number;
@ApiPropertyOptional({ description: 'Page size', type: Number })
@IsOptional()
@ToNumber()
pageSize?: number;
Affected Version
bigcapitalhq/server:latest (tested June 2026)
Impact
Journal list pagination is completely broken in self-hosted deployments.
Frontend sends correct requests but API always returns first page.
Bug Description
The Manual Journals list endpoint
/api/manual-journalsignorespageandpageSizequery parameters. Every request always returns page 1 with 12 items,regardless of the parameters sent.
Root Cause
pageandpageSizeproperties are missing fromDynamicFilterQueryDto.NestJS ValidationPipe with
whitelist: truestrips unknown properties beforethey reach the service layer.
The service (
GetManualJournals.service.ts) correctly handles pagination:Fix
Add
pageandpageSizetoDynamicFilterQuery.dto.ts:Affected Version
bigcapitalhq/server:latest (tested June 2026)
Impact
Journal list pagination is completely broken in self-hosted deployments.
Frontend sends correct requests but API always returns first page.