From 3cfb5cdde8814eb79a5fde2aca742202c35a9717 Mon Sep 17 00:00:00 2001 From: Ahmed Bouhuolia Date: Fri, 12 Dec 2025 23:38:48 +0200 Subject: [PATCH] fix: reports pdf template --- .../common/TableSheetPdf.ts | 37 ++++--- .../APAgingSummaryPdfInjectable.ts | 1 + .../ARAgingSummaryPdfInjectable.ts | 1 + .../BalanceSheet/BalanceSheetPdfInjectable.ts | 3 +- .../CashflowTablePdfInjectable.ts | 1 + .../CustomerBalanceSummaryPdf.ts | 1 + .../modules/GeneralLedger/GeneralLedgerPdf.ts | 1 + .../InventoryItemDetailsTablePdf.ts | 1 + .../InventoryValuationSheetPdf.ts | 1 + .../JournalSheet/JournalSheetPdfInjectable.ts | 3 +- .../ProfitLossTablePdfInjectable.ts | 1 + .../PurchasesByItems/PurchasesByItemsPdf.ts | 1 + .../SalesByItems/SalesByItemsPdfInjectable.ts | 3 +- .../SalesTaxLiabiltiySummaryPdf.ts | 3 +- .../TransactionsByCustomersPdf.ts | 3 +- .../TransactionsByVendorPdf.ts | 3 +- .../TrialBalanceSheetPdfInjectsable.ts | 3 +- .../VendorBalanceSummaryPdf.ts | 3 +- .../BalanceSheetPdfDialogContent.tsx | 15 ++- packages/webapp/src/style/App.scss | 18 +--- .../src/components/FinancialSheetTemplate.tsx | 96 +++++++++++++++++++ shared/pdf-templates/src/index.ts | 2 + .../render-financial-sheet-template.tsx | 14 +++ 23 files changed, 173 insertions(+), 42 deletions(-) create mode 100644 shared/pdf-templates/src/components/FinancialSheetTemplate.tsx create mode 100644 shared/pdf-templates/src/renders/render-financial-sheet-template.tsx diff --git a/packages/server/src/modules/FinancialStatements/common/TableSheetPdf.ts b/packages/server/src/modules/FinancialStatements/common/TableSheetPdf.ts index 92dd02030..1ac130efe 100644 --- a/packages/server/src/modules/FinancialStatements/common/TableSheetPdf.ts +++ b/packages/server/src/modules/FinancialStatements/common/TableSheetPdf.ts @@ -3,29 +3,30 @@ import { ITableColumn, ITableData, ITableRow } from '../types/Table.types'; import { FinancialTableStructure } from './FinancialTableStructure'; import { tableClassNames } from '../utils'; import { Injectable } from '@nestjs/common'; -import { TemplateInjectable } from '../../TemplateInjectable/TemplateInjectable.service'; import { ChromiumlyTenancy } from '../../ChromiumlyTenancy/ChromiumlyTenancy.service'; +import { renderFinancialSheetTemplateHtml } from '@bigcapital/pdf-templates'; @Injectable() export class TableSheetPdf { /** - * @param {TemplateInjectable} templateInjectable - The template injectable service. * @param {ChromiumlyTenancy} chromiumlyTenancy - The chromiumly tenancy service. */ constructor( - private readonly templateInjectable: TemplateInjectable, private readonly chromiumlyTenancy: ChromiumlyTenancy, - ) {} + ) { } /** * Converts the table data into a PDF format. * @param {ITableData} table - The table data to be converted. + * @param {string} organizationName - The organization name. * @param {string} sheetName - The name of the sheet. * @param {string} sheetDate - The date of the sheet. + * @param {string} customCSS - Optional custom CSS to inject. * @returns A promise that resolves with the PDF conversion result. */ public async convertToPdf( table: ITableData, + organizationName: string, sheetName: string, sheetDate: string, customCSS?: string, @@ -33,19 +34,26 @@ export class TableSheetPdf { // Prepare columns and rows for PDF conversion const columns = this.tablePdfColumns(table.columns); const rows = this.tablePdfRows(table.rows); - const landscape = columns.length > 4; - // Generate HTML content from the template - const htmlContent = await this.templateInjectable.render( - 'financial-sheet', - { - table: { rows, columns }, - sheetName, - sheetDate, - customCSS, + // Generate HTML content from the React template + const htmlContent = renderFinancialSheetTemplateHtml({ + organizationName, + sheetName, + sheetDate, + table: { + columns: columns.map((col) => ({ + key: col.key, + label: col.label, + style: (col as any).style, // style may be added during transformation + })), + rows: rows.map((row) => ({ + cells: row.cells, + classNames: (row as any).classNames, + })), }, - ); + customCSS, + }); // Convert the HTML content to PDF return this.chromiumlyTenancy.convertHtmlContent(htmlContent, { margins: { top: 0, bottom: 0, left: 0, right: 0 }, @@ -74,7 +82,6 @@ export class TableSheetPdf { const flatNestedTree = curriedFlatNestedTree(R.__, { nestedPrefix: '', }); - // @ts-ignore return R.compose(tableClassNames, flatNestedTree)(rows); }; diff --git a/packages/server/src/modules/FinancialStatements/modules/APAgingSummary/APAgingSummaryPdfInjectable.ts b/packages/server/src/modules/FinancialStatements/modules/APAgingSummary/APAgingSummaryPdfInjectable.ts index b5b5955aa..8787e12d0 100644 --- a/packages/server/src/modules/FinancialStatements/modules/APAgingSummary/APAgingSummaryPdfInjectable.ts +++ b/packages/server/src/modules/FinancialStatements/modules/APAgingSummary/APAgingSummaryPdfInjectable.ts @@ -21,6 +21,7 @@ export class APAgingSummaryPdfInjectable { return this.tableSheetPdf.convertToPdf( table.table, + table.meta.organizationName, table.meta.sheetName, table.meta.formattedAsDate, HtmlTableCss, diff --git a/packages/server/src/modules/FinancialStatements/modules/ARAgingSummary/ARAgingSummaryPdfInjectable.ts b/packages/server/src/modules/FinancialStatements/modules/ARAgingSummary/ARAgingSummaryPdfInjectable.ts index fd8901c23..5e6cf9c17 100644 --- a/packages/server/src/modules/FinancialStatements/modules/ARAgingSummary/ARAgingSummaryPdfInjectable.ts +++ b/packages/server/src/modules/FinancialStatements/modules/ARAgingSummary/ARAgingSummaryPdfInjectable.ts @@ -21,6 +21,7 @@ export class ARAgingSummaryPdfInjectable { return this.tableSheetPdf.convertToPdf( table.table, + table.meta.organizationName, table.meta.sheetName, table.meta.formattedDateRange, HtmlTableCss, diff --git a/packages/server/src/modules/FinancialStatements/modules/BalanceSheet/BalanceSheetPdfInjectable.ts b/packages/server/src/modules/FinancialStatements/modules/BalanceSheet/BalanceSheetPdfInjectable.ts index d472ba0d1..66404400c 100644 --- a/packages/server/src/modules/FinancialStatements/modules/BalanceSheet/BalanceSheetPdfInjectable.ts +++ b/packages/server/src/modules/FinancialStatements/modules/BalanceSheet/BalanceSheetPdfInjectable.ts @@ -9,7 +9,7 @@ export class BalanceSheetPdfInjectable { constructor( private readonly balanceSheetTable: BalanceSheetTableInjectable, private readonly tableSheetPdf: TableSheetPdf, - ) {} + ) { } /** * Converts the given balance sheet table to pdf. @@ -21,6 +21,7 @@ export class BalanceSheetPdfInjectable { return this.tableSheetPdf.convertToPdf( table.table, + table.meta.organizationName, table.meta.sheetName, table.meta.formattedDateRange, HtmlTableCustomCss, diff --git a/packages/server/src/modules/FinancialStatements/modules/CashFlowStatement/CashflowTablePdfInjectable.ts b/packages/server/src/modules/FinancialStatements/modules/CashFlowStatement/CashflowTablePdfInjectable.ts index fbb3457aa..2b8661160 100644 --- a/packages/server/src/modules/FinancialStatements/modules/CashFlowStatement/CashflowTablePdfInjectable.ts +++ b/packages/server/src/modules/FinancialStatements/modules/CashFlowStatement/CashflowTablePdfInjectable.ts @@ -22,6 +22,7 @@ export class CashflowTablePdfInjectable { return this.tableSheetPdf.convertToPdf( table.table, + table.meta.organizationName, table.meta.sheetName, table.meta.formattedDateRange, HtmlTableCustomCss, diff --git a/packages/server/src/modules/FinancialStatements/modules/CustomerBalanceSummary/CustomerBalanceSummaryPdf.ts b/packages/server/src/modules/FinancialStatements/modules/CustomerBalanceSummary/CustomerBalanceSummaryPdf.ts index 711b821ab..eaa096514 100644 --- a/packages/server/src/modules/FinancialStatements/modules/CustomerBalanceSummary/CustomerBalanceSummaryPdf.ts +++ b/packages/server/src/modules/FinancialStatements/modules/CustomerBalanceSummary/CustomerBalanceSummaryPdf.ts @@ -21,6 +21,7 @@ export class CustomerBalanceSummaryPdf { return this.tableSheetPdf.convertToPdf( table.table, + table.meta.organizationName, table.meta.sheetName, table.meta.formattedDateRange, HtmlTableCustomCss, diff --git a/packages/server/src/modules/FinancialStatements/modules/GeneralLedger/GeneralLedgerPdf.ts b/packages/server/src/modules/FinancialStatements/modules/GeneralLedger/GeneralLedgerPdf.ts index b53c50ccb..f99436327 100644 --- a/packages/server/src/modules/FinancialStatements/modules/GeneralLedger/GeneralLedgerPdf.ts +++ b/packages/server/src/modules/FinancialStatements/modules/GeneralLedger/GeneralLedgerPdf.ts @@ -21,6 +21,7 @@ export class GeneralLedgerPdf { return this.tableSheetPdf.convertToPdf( table.table, + table.meta.organizationName, table.meta.sheetName, table.meta.formattedDateRange, HtmlTableCustomCss, diff --git a/packages/server/src/modules/FinancialStatements/modules/InventoryItemDetails/InventoryItemDetailsTablePdf.ts b/packages/server/src/modules/FinancialStatements/modules/InventoryItemDetails/InventoryItemDetailsTablePdf.ts index da52e73d9..61a3650fb 100644 --- a/packages/server/src/modules/FinancialStatements/modules/InventoryItemDetails/InventoryItemDetailsTablePdf.ts +++ b/packages/server/src/modules/FinancialStatements/modules/InventoryItemDetails/InventoryItemDetailsTablePdf.ts @@ -26,6 +26,7 @@ export class InventoryDetailsTablePdf { return this.tableSheetPdf.convertToPdf( table.table, + table.meta.organizationName, table.meta.sheetName, table.meta.formattedDateRange, HtmlTableCustomCss, diff --git a/packages/server/src/modules/FinancialStatements/modules/InventoryValuationSheet/InventoryValuationSheetPdf.ts b/packages/server/src/modules/FinancialStatements/modules/InventoryValuationSheet/InventoryValuationSheetPdf.ts index cf9e00033..570f69404 100644 --- a/packages/server/src/modules/FinancialStatements/modules/InventoryValuationSheet/InventoryValuationSheetPdf.ts +++ b/packages/server/src/modules/FinancialStatements/modules/InventoryValuationSheet/InventoryValuationSheetPdf.ts @@ -22,6 +22,7 @@ export class InventoryValuationSheetPdf { return this.tableSheetPdf.convertToPdf( table.table, + table.meta.organizationName, table.meta.sheetName, table.meta.formattedDateRange, HtmlTableCustomCss, diff --git a/packages/server/src/modules/FinancialStatements/modules/JournalSheet/JournalSheetPdfInjectable.ts b/packages/server/src/modules/FinancialStatements/modules/JournalSheet/JournalSheetPdfInjectable.ts index 23e88f196..d79784d4c 100644 --- a/packages/server/src/modules/FinancialStatements/modules/JournalSheet/JournalSheetPdfInjectable.ts +++ b/packages/server/src/modules/FinancialStatements/modules/JournalSheet/JournalSheetPdfInjectable.ts @@ -9,7 +9,7 @@ export class JournalSheetPdfInjectable { constructor( private readonly journalSheetTable: JournalSheetTableInjectable, private readonly tableSheetPdf: TableSheetPdf, - ) {} + ) { } /** * Converts the given journal sheet table to pdf. @@ -22,6 +22,7 @@ export class JournalSheetPdfInjectable { return this.tableSheetPdf.convertToPdf( table.table, + table.meta.organizationName, table.meta.sheetName, table.meta.formattedDateRange, HtmlTableCustomCss, diff --git a/packages/server/src/modules/FinancialStatements/modules/ProfitLossSheet/ProfitLossTablePdfInjectable.ts b/packages/server/src/modules/FinancialStatements/modules/ProfitLossSheet/ProfitLossTablePdfInjectable.ts index 776f1783a..2127a00a7 100644 --- a/packages/server/src/modules/FinancialStatements/modules/ProfitLossSheet/ProfitLossTablePdfInjectable.ts +++ b/packages/server/src/modules/FinancialStatements/modules/ProfitLossSheet/ProfitLossTablePdfInjectable.ts @@ -21,6 +21,7 @@ export class ProfitLossTablePdfInjectable { return this.tableSheetPdf.convertToPdf( table.table, + table.meta.organizationName, table.meta.sheetName, table.meta.formattedDateRange, HtmlTableCustomCss, diff --git a/packages/server/src/modules/FinancialStatements/modules/PurchasesByItems/PurchasesByItemsPdf.ts b/packages/server/src/modules/FinancialStatements/modules/PurchasesByItems/PurchasesByItemsPdf.ts index e26539454..3190f64c4 100644 --- a/packages/server/src/modules/FinancialStatements/modules/PurchasesByItems/PurchasesByItemsPdf.ts +++ b/packages/server/src/modules/FinancialStatements/modules/PurchasesByItems/PurchasesByItemsPdf.ts @@ -23,6 +23,7 @@ export class PurchasesByItemsPdf { return this.tableSheetPdf.convertToPdf( table.table, + table.meta.organizationName, table.meta.sheetName, table.meta.formattedDateRange, HtmlTableCustomCss, diff --git a/packages/server/src/modules/FinancialStatements/modules/SalesByItems/SalesByItemsPdfInjectable.ts b/packages/server/src/modules/FinancialStatements/modules/SalesByItems/SalesByItemsPdfInjectable.ts index eb8dc4845..2c66d8672 100644 --- a/packages/server/src/modules/FinancialStatements/modules/SalesByItems/SalesByItemsPdfInjectable.ts +++ b/packages/server/src/modules/FinancialStatements/modules/SalesByItems/SalesByItemsPdfInjectable.ts @@ -9,7 +9,7 @@ export class SalesByItemsPdfInjectable { constructor( private readonly salesByItemsTable: SalesByItemsTableInjectable, private readonly tableSheetPdf: TableSheetPdf, - ) {} + ) { } /** * Retrieves the sales by items sheet in pdf format. @@ -23,6 +23,7 @@ export class SalesByItemsPdfInjectable { return this.tableSheetPdf.convertToPdf( table.table, + table.meta.organizationName, table.meta.sheetName, table.meta.formattedDateRange, HtmlTableCustomCss, diff --git a/packages/server/src/modules/FinancialStatements/modules/SalesTaxLiabilitySummary/SalesTaxLiabiltiySummaryPdf.ts b/packages/server/src/modules/FinancialStatements/modules/SalesTaxLiabilitySummary/SalesTaxLiabiltiySummaryPdf.ts index f50b30a97..f5a2d31ed 100644 --- a/packages/server/src/modules/FinancialStatements/modules/SalesTaxLiabilitySummary/SalesTaxLiabiltiySummaryPdf.ts +++ b/packages/server/src/modules/FinancialStatements/modules/SalesTaxLiabilitySummary/SalesTaxLiabiltiySummaryPdf.ts @@ -8,7 +8,7 @@ export class SalesTaxLiabiltiySummaryPdf { constructor( private readonly salesTaxLiabiltiySummaryTable: SalesTaxLiabilitySummaryTableInjectable, private readonly tableSheetPdf: TableSheetPdf, - ) {} + ) { } /** * Converts the given sales tax liability summary table to pdf. @@ -21,6 +21,7 @@ export class SalesTaxLiabiltiySummaryPdf { ); return this.tableSheetPdf.convertToPdf( table.table, + table.meta.organizationName, table.meta.sheetName, table.meta.formattedDateRange, ); diff --git a/packages/server/src/modules/FinancialStatements/modules/TransactionsByCustomer/TransactionsByCustomersPdf.ts b/packages/server/src/modules/FinancialStatements/modules/TransactionsByCustomer/TransactionsByCustomersPdf.ts index 6f647fa6a..a380fdfad 100644 --- a/packages/server/src/modules/FinancialStatements/modules/TransactionsByCustomer/TransactionsByCustomersPdf.ts +++ b/packages/server/src/modules/FinancialStatements/modules/TransactionsByCustomer/TransactionsByCustomersPdf.ts @@ -6,7 +6,7 @@ export class TransactionsByCustomersPdf { constructor( private readonly transactionsByCustomersTable: TransactionsByCustomersTableInjectable, private readonly tableSheetPdf: TableSheetPdf, - ) {} + ) { } /** * Retrieves the transactions by customers in PDF format. @@ -18,6 +18,7 @@ export class TransactionsByCustomersPdf { return this.tableSheetPdf.convertToPdf( table.table, + table.meta.organizationName, table.meta.sheetName, table.meta.formattedDateRange, ); diff --git a/packages/server/src/modules/FinancialStatements/modules/TransactionsByVendor/TransactionsByVendorPdf.ts b/packages/server/src/modules/FinancialStatements/modules/TransactionsByVendor/TransactionsByVendorPdf.ts index cfc75a6fe..a16f56960 100644 --- a/packages/server/src/modules/FinancialStatements/modules/TransactionsByVendor/TransactionsByVendorPdf.ts +++ b/packages/server/src/modules/FinancialStatements/modules/TransactionsByVendor/TransactionsByVendorPdf.ts @@ -9,7 +9,7 @@ export class TransactionsByVendorsPdf { constructor( private readonly transactionsByVendorTable: TransactionsByVendorTableInjectable, private readonly tableSheetPdf: TableSheetPdf, - ) {} + ) { } /** * Converts the given balance sheet table to pdf. @@ -21,6 +21,7 @@ export class TransactionsByVendorsPdf { return this.tableSheetPdf.convertToPdf( table.table, + table.meta.organizationName, table.meta.sheetName, table.meta.formattedDateRange, HtmlTableCustomCss, diff --git a/packages/server/src/modules/FinancialStatements/modules/TrialBalanceSheet/TrialBalanceSheetPdfInjectsable.ts b/packages/server/src/modules/FinancialStatements/modules/TrialBalanceSheet/TrialBalanceSheetPdfInjectsable.ts index cf55e5532..2b06ee4cd 100644 --- a/packages/server/src/modules/FinancialStatements/modules/TrialBalanceSheet/TrialBalanceSheetPdfInjectsable.ts +++ b/packages/server/src/modules/FinancialStatements/modules/TrialBalanceSheet/TrialBalanceSheetPdfInjectsable.ts @@ -9,7 +9,7 @@ export class TrialBalanceSheetPdfInjectable { constructor( private readonly trialBalanceSheetTable: TrialBalanceSheetTableInjectable, private readonly tableSheetPdf: TableSheetPdf, - ) {} + ) { } /** * Converts the given trial balance sheet table to pdf. @@ -21,6 +21,7 @@ export class TrialBalanceSheetPdfInjectable { return this.tableSheetPdf.convertToPdf( table.table, + table.meta.organizationName, table.meta.sheetName, table.meta.formattedDateRange, HtmlTableCustomCss, diff --git a/packages/server/src/modules/FinancialStatements/modules/VendorBalanceSummary/VendorBalanceSummaryPdf.ts b/packages/server/src/modules/FinancialStatements/modules/VendorBalanceSummary/VendorBalanceSummaryPdf.ts index d2d58b3dd..55335def9 100644 --- a/packages/server/src/modules/FinancialStatements/modules/VendorBalanceSummary/VendorBalanceSummaryPdf.ts +++ b/packages/server/src/modules/FinancialStatements/modules/VendorBalanceSummary/VendorBalanceSummaryPdf.ts @@ -9,7 +9,7 @@ export class VendorBalanceSummaryPdf { constructor( private readonly vendorBalanceSummaryTable: VendorBalanceSummaryTableInjectable, private readonly tableSheetPdf: TableSheetPdf, - ) {} + ) { } /** * Retrieves the sales by items sheet in pdf format. @@ -23,6 +23,7 @@ export class VendorBalanceSummaryPdf { return this.tableSheetPdf.convertToPdf( table.table, + table.meta.organizationName, table.meta.sheetName, table.meta.formattedAsDate, HtmlTableCustomCss, diff --git a/packages/webapp/src/containers/FinancialStatements/BalanceSheet/dialogs/BalanceSheetPdfDialog/BalanceSheetPdfDialogContent.tsx b/packages/webapp/src/containers/FinancialStatements/BalanceSheet/dialogs/BalanceSheetPdfDialog/BalanceSheetPdfDialogContent.tsx index 74400ecf0..74923fcbe 100644 --- a/packages/webapp/src/containers/FinancialStatements/BalanceSheet/dialogs/BalanceSheetPdfDialog/BalanceSheetPdfDialogContent.tsx +++ b/packages/webapp/src/containers/FinancialStatements/BalanceSheet/dialogs/BalanceSheetPdfDialog/BalanceSheetPdfDialogContent.tsx @@ -10,7 +10,7 @@ import { useBalanceSheetContext } from '../../BalanceSheetProvider'; export default function BalanceSheetPdfDialogContent() { const { httpQuery } = useBalanceSheetContext(); - const { isLoading, pdfUrl } = useBalanceSheetPdf({ ...httpQuery }); + const { isLoading, isLoaded, pdfUrl } = useBalanceSheetPdf({ ...httpQuery }); return ( @@ -18,8 +18,10 @@ export default function BalanceSheetPdfDialogContent() { @@ -27,8 +29,11 @@ export default function BalanceSheetPdfDialogContent() { diff --git a/packages/webapp/src/style/App.scss b/packages/webapp/src/style/App.scss index c904e21b7..f2b24bbca 100644 --- a/packages/webapp/src/style/App.scss +++ b/packages/webapp/src/style/App.scss @@ -234,22 +234,12 @@ html[lang^='ar'] { .dialog__header-actions { position: absolute; - right: 50px; + right: 44px; top: 0; z-index: 9999999; - margin: 6px; - - .bp4-button { - border-color: rgba(0, 0, 0, 0.25); - color: rgb(25, 32, 37); - min-height: 30px; - padding-left: 14px; - padding-right: 14px; - - &+.bp4-button { - margin-left: 8px; - } - } + margin: 9px 6px 6px; + display: flex; + gap: 10px; } .bp4-dialog { diff --git a/shared/pdf-templates/src/components/FinancialSheetTemplate.tsx b/shared/pdf-templates/src/components/FinancialSheetTemplate.tsx new file mode 100644 index 000000000..aad8b2154 --- /dev/null +++ b/shared/pdf-templates/src/components/FinancialSheetTemplate.tsx @@ -0,0 +1,96 @@ +import { x } from '@xstyled/emotion'; +import { Box } from '../lib/layout/Box'; + +export interface TableColumn { + key: string; + label: string; + style?: string; +} + +export interface TableCell { + key: string; + value: string; +} + +export interface TableRow { + cells: TableCell[]; + classNames?: string; +} + +export interface FinancialSheetTemplateProps { + organizationName: string; + sheetName?: string; + sheetDate?: string; + table: { + columns: TableColumn[]; + rows: TableRow[]; + }; + customCSS?: string; +} + +export function FinancialSheetTemplate({ + organizationName, + sheetName, + sheetDate, + table, + customCSS, +}: FinancialSheetTemplateProps) { + return ( + + + + + {organizationName} + + {sheetName && {sheetName}} + {sheetDate && {sheetDate}} + + + + + + {table.columns.map((column) => ( + + {column.label} + + ))} + + + + {table.rows.map((row, rowIndex) => ( + + {row.cells.map((cell) => ( + + + + ))} + + ))} + + + + + ); +} diff --git a/shared/pdf-templates/src/index.ts b/shared/pdf-templates/src/index.ts index 5dae8b37c..51bae775e 100644 --- a/shared/pdf-templates/src/index.ts +++ b/shared/pdf-templates/src/index.ts @@ -3,8 +3,10 @@ export * from './components/InvoicePaperTemplate'; export * from './components/EstimatePaperTemplate'; export * from './components/ReceiptPaperTemplate'; export * from './components/PaymentReceivedPaperTemplate'; +export * from './components/FinancialSheetTemplate'; export * from './renders/render-invoice-paper-template'; export * from './renders/render-estimate-paper-template'; export * from './renders/render-receipt-paper-template'; export * from './renders/render-payment-received-paper-template'; +export * from './renders/render-financial-sheet-template'; diff --git a/shared/pdf-templates/src/renders/render-financial-sheet-template.tsx b/shared/pdf-templates/src/renders/render-financial-sheet-template.tsx new file mode 100644 index 000000000..941a1cc54 --- /dev/null +++ b/shared/pdf-templates/src/renders/render-financial-sheet-template.tsx @@ -0,0 +1,14 @@ +import { + FinancialSheetTemplate, + FinancialSheetTemplateProps, +} from '../components/FinancialSheetTemplate'; +import { renderSSR } from './render-ssr'; + +export const renderFinancialSheetTemplateHtml = ( + props: FinancialSheetTemplateProps +) => { + return renderSSR( + + ); +}; +