Skills Product & Business Deploy Fondo Financial Dashboard Integration

Deploy Fondo Financial Dashboard Integration

v20260423
fondo-deploy-integration
This skill provides a comprehensive solution for deploying containerized financial dashboards and reporting tools. It integrates with Fondo's API to manage tax filings, compliance status, and complex financial reporting across multiple entities. It supports production-grade deployment, including Dockerization, robust health checks, and zero-downtime rolling updates, ensuring reliable operation during critical tax periods.
Get Skill
477 downloads
Overview

Fondo Deploy Integration

Overview

Deploy a containerized Fondo tax and accounting integration service with Docker. This skill covers building a production image that connects to Fondo's API for managing tax filings, compliance status, and financial reporting. Includes environment configuration for multi-entity accounting setups, health checks that verify API connectivity to Fondo's compliance endpoints, and rolling update strategies for zero-downtime deployments during critical tax filing periods.

Docker Configuration

FROM node:20-slim AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY tsconfig.json ./
COPY src/ ./src/
RUN npm run build

FROM node:20-slim
RUN addgroup --system app && adduser --system --ingroup app app
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules
COPY package*.json ./
USER app
EXPOSE 3000
HEALTHCHECK --interval=30s --timeout=5s --retries=3 \
  CMD curl -f http://localhost:3000/health || exit 1
CMD ["node", "dist/index.js"]

Environment Variables

export FONDO_API_KEY="fondo_live_xxxxxxxxxxxx"
export FONDO_BASE_URL="https://api.tryfondo.com/v1"
export FONDO_COMPANY_ID="comp_xxxxxxxxxxxx"
export FONDO_FILING_YEAR="2026"
export LOG_LEVEL="info"
export PORT="3000"
export NODE_ENV="production"

Health Check Endpoint

import express from 'express';

const app = express();

app.get('/health', async (req, res) => {
  try {
    const response = await fetch(`${process.env.FONDO_BASE_URL}/compliance/status`, {
      headers: { 'Authorization': `Bearer ${process.env.FONDO_API_KEY}` },
    });
    if (!response.ok) throw new Error(`Fondo API returned ${response.status}`);
    res.json({ status: 'healthy', service: 'fondo-integration', timestamp: new Date().toISOString() });
  } catch (error) {
    res.status(503).json({ status: 'unhealthy', error: (error as Error).message });
  }
});

Deployment Steps

Step 1: Build

docker build -t fondo-integration:latest .

Step 2: Run

docker run -d --name fondo-integration \
  -p 3000:3000 \
  -e FONDO_API_KEY -e FONDO_BASE_URL -e FONDO_COMPANY_ID -e FONDO_FILING_YEAR \
  fondo-integration:latest

Step 3: Verify

curl -s http://localhost:3000/health | jq .

Step 4: Rolling Update

docker build -t fondo-integration:v2 . && \
docker stop fondo-integration && \
docker rm fondo-integration && \
docker run -d --name fondo-integration -p 3000:3000 \
  -e FONDO_API_KEY -e FONDO_BASE_URL -e FONDO_COMPANY_ID -e FONDO_FILING_YEAR \
  fondo-integration:v2

Error Handling

IssueCauseFix
401 UnauthorizedInvalid or expired API keyRegenerate key in Fondo dashboard settings
403 ForbiddenCompany ID mismatch with API keyVerify FONDO_COMPANY_ID in Fondo account settings
404 Not FoundFiling or entity does not existCheck filing year and entity IDs against Fondo portal
429 Rate LimitedExceeding API rate limitsImplement exponential backoff; cache compliance status
Stale compliance dataWebhook not configured for updatesRegister webhook endpoint in Fondo settings

Resources

Next Steps

See fondo-webhooks-events.

Info
Name fondo-deploy-integration
Version v20260423
Size 3.71KB
Updated At 2026-04-28
Language