fondo-deploy-integration

'Deploy financial dashboards and reporting tools that consume Fondo data

5 Tools
fondo-pack Plugin
saas packs Category

Allowed Tools

ReadWriteEditBash(npm:*)Grep

Provided by Plugin

fondo-pack

Claude Code skill pack for Fondo (18 skills)

saas packs v1.0.0
View Plugin

Installation

This skill is included in the fondo-pack plugin:

/plugin install fondo-pack@claude-code-plugins-plus

Click to copy

Instructions

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

Issue Cause Fix
401 Unauthorized Invalid or expired API key Regenerate key in Fondo dashboard settings
403 Forbidden Company ID mismatch with API key Verify FONDOCOMPANYID in Fondo account settings
404 Not Found Filing or entity does not exist Check filing year and entity IDs against Fondo portal
429 Rate Limited Exceeding API rate limits Implement exponential backoff; cache compliance status
Stale compliance data Webhook not configured for updates Register webhook endpoint in Fondo settings

Resources

Next Steps

See fondo-webhooks-events.

Ready to use fondo-pack?