Package Exports
- financial-pdf
- financial-pdf/dist/index.js
- financial-pdf/dist/index.mjs
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (financial-pdf) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Financial PDF
A Node.js package for generating financial reports with charts and bank reconciliations that can be easily integrated into Next.js applications.
Features
- Generate financial reports with customizable templates
- Create interactive charts and visualizations
- Perform automated bank reconciliations
- Export reports to various formats (PDF, CSV, Excel)
- Seamlessly integrate with Next.js applications
Installation
npm install financial-pdf
Quick Start
Basic Report Generation
import { createSimpleReport, exportReportToPdf } from 'financial-reports';
// Create a simple report
const report = createSimpleReport('Financial Summary', [
{
title: 'Revenue Overview',
type: 'table',
content: {
headers: ['Month', 'Revenue', 'Expenses', 'Profit'],
rows: [
['January', 10000, 7000, 3000],
['February', 12000, 7500, 4500],
['March', 15000, 8000, 7000],
],
summary: ['Total', 37000, 22500, 14500]
}
}
]);
// Export to PDF
const pdfBlob = await exportReportToPdf(report);
Creating Charts
import { createBarChart, createLineChart } from 'financial-reports';
// Create a bar chart
const barChart = createBarChart(
['January', 'February', 'March'],
[10000, 12000, 15000],
{
title: {
display: true,
text: 'Monthly Revenue'
}
}
);
// Create a line chart with multiple datasets
const lineChart = createLineChart(
['January', 'February', 'March'],
[
[10000, 12000, 15000], // Revenue
[7000, 7500, 8000] // Expenses
],
{
title: {
display: true,
text: 'Revenue vs Expenses'
}
}
);
Bank Reconciliation
import { processReconciliation } from 'financial-reports';
// Process reconciliation
const reconciliationData = {
account: {
name: 'Business Checking',
number: '1234567890',
currency: 'USD',
openingBalance: 5000,
closingBalance: 8500
},
period: {
startDate: new Date('2023-01-01'),
endDate: new Date('2023-01-31')
},
bankTransactions: [
/* Bank transactions */
],
bookTransactions: [
/* Book transactions */
],
settings: {
fuzzyMatching: true,
fuzzyThreshold: 0.7
}
};
const matchResults = processReconciliation(reconciliationData);
Integration with Next.js
import { ChartComponent } from 'financial-reports/components';
import { createBarChart } from 'financial-reports';
function DashboardPage() {
const chartConfig = createBarChart(
['January', 'February', 'March'],
[10000, 12000, 15000]
);
return (
<div>
<h1>Financial Dashboard</h1>
<ChartComponent config={chartConfig} height={400} />
</div>
);
}
API Reference
Core Modules
createSimpleReport
: Create a basic financial reportgenerateReport
: Generate a customizable financial reportexportReportToPdf
: Export a report to PDFexportReportToCsv
: Export a report to CSVexportReportToExcel
: Export a report to Excel
Chart Functions
createBarChart
: Create a bar chartcreateStackedBarChart
: Create a stacked bar chartcreateHorizontalBarChart
: Create a horizontal bar chartcreateLineChart
: Create a line chartcreateAreaChart
: Create an area chartcreatePieChart
: Create a pie chartcreateDoughnutChart
: Create a doughnut chart
Reconciliation Functions
processReconciliation
: Process bank reconciliationmatchTransactions
: Match bank and book transactionscalculateReconciliationSummary
: Calculate reconciliation summary
Utility Functions
formatCurrency
: Format a number as currencyformatNumber
: Format a number with custom optionsformatDate
: Format a date with custom optionscalculatePercentageChange
: Calculate percentage change
Configuration
The package can be configured using the FinancialReportsConfig
interface:
import { FinancialReportsConfig } from 'financial-reports';
const config: FinancialReportsConfig = {
theme: {
primaryColor: '#3f51b5',
secondaryColor: '#f50057',
fontFamily: 'Arial, sans-serif'
},
defaultChartOptions: {
responsive: true,
maintainAspectRatio: false
},
locale: {
language: 'en-US',
dateFormat: 'YYYY-MM-DD',
currencyFormat: {
code: 'USD',
symbol: '$',
symbolPosition: 'before'
}
}
};
Documentation
For more detailed documentation, check out the official documentation.
License
MIT