Skip to main content
North America

B2B Software Consulting in Miami

Miami's ERP problem is rarely the Florida Digital Bill of Rights — its $1 billion revenue threshold exempts almost every company in the city. It is running Brazilian NF-e, Colombian DIAN invoices and OFAC screening from one ledger. ERPStack is remote-first and builds multi-country PostgreSQL systems where each tax authority's layout is versioned data.

Quick Answer

In short: Miami ERP work is never one country. ERPStack builds systems that emit Brazil NF-e with the new IBS and CBS fields, clear Colombia's DIAN, keep OFAC screening records examinable for ten years under 31 CFR 501.601, and run in the AWS us-east-1-mia-2a Local Zone with sa-east-1 and mx-central-1 for Latin America.

Regional Compliance

  • Florida Digital Bill of Rights (SB 262) — effective 1 July 2024
  • Fla. Stat. § 501.171 — 30-day breach notice at 500 individuals
  • Brazil NF-e and CT-e layouts under the Reforma Tributária do Consumo
  • Colombia DIAN factura electrónica
  • OFAC records examinable for 10 years — 31 CFR 501.601
  • Florida 6% sales tax plus county surtax capped on the first $5,000

Security & Compliance Architecture

Miami’s compliance surface is unusual: the headline Florida statute barely touches anyone here, while four foreign tax authorities and a US sanctions regime touch everything an ERP does. The Florida Digital Bill of Rights arrived through SB 262, took effect on 1 July 2024, and its applicability test is why most Miami PostgreSQL projects never mention it twice.

  • The $1 billion threshold that exempts Miami

    Fla. Stat. § 501.702 counts you as a controller only above $1 billion in global gross annual revenues, and only if you also draw 50% of revenue from online advertising, sell a smart speaker with a voice assistant, or run an app store of 250,000+ apps. ERPStack still builds consent, deletion and data subject access request (DSAR) handling into the PostgreSQL schema and CRM, because Colombian and Brazilian customers have their own regimes.
  • § 501.171 is the Florida statute that does bite

    A breach affecting 500 or more individuals in Florida must reach the Department of Legal Affairs within 30 days of determination, extendable by 15 days for good cause. Counting Floridians inside a Miami database of Latin American records is a data-model question, so ERPStack tags every person row in PostgreSQL with a jurisdiction and keeps an immutable audit trail of consent, making the count a query.
  • Clearance models decide your API design

    Brazil’s NF-e and Colombia’s DIAN factura electrónica authorise documents before goods move, so a Miami ERP cannot treat invoicing as a fire-and-forget REST call. ERPStack models each submission as a state machine with idempotency in API design, retries and a Redis queue, so an outage in Bogotá delays a Miami shipment rather than losing it.
  • Ten years of OFAC records, 31 CFR 501.601

    Sanctions records stay examinable for at least ten years — longer than most Miami ERP purge policies and SaaS retention defaults. ERPStack separates operational data in PostgreSQL from the evidence archive, holds it in AWS object storage under a retention lock keyed by AWS Key Management Service (KMS), and keeps deletion routines away.
  • What ERPStack does not claim in Miami

    ERPStack is remote-first: no Miami office, no Florida entity, no SOC 2 or ISO 27001 attestation of its own. We are not a certified e-invoicing agent in Brazil or Colombia either; that belongs to a local provider. What we build is the ERP and CRM around them: versioned schemas, RBAC, reconciliation an auditor replays in PostgreSQL.

Engineering Blueprint

A Miami headquarters is usually a Latin American operating footprint with a Florida address: one entity in Miami, distribution and logistics subsidiaries across Brazil, Mexico, Colombia and Chile. So the hard part of custom ERP development in Miami is not the ledger or React interface — it is reconciling five tax authorities, four foreign currencies and one OFAC obligation inside one PostgreSQL system of record on Next.js and TypeScript.

One control plane from Miami to Lima

AWS parents its Latin American Local Zones to the region that serves Miami: Querétaro us-east-1-qro-1a, Buenos Aires us-east-1-bue-1a, Santiago us-east-1-scl-1a and Lima us-east-1-lim-1a, all under us-east-1 alongside the Miami Local Zone us-east-1-mia-2a. ERPStack runs Next.js and Redis in-market, keeps one PostgreSQL primary and one set of CI/CD deployment pipelines in us-east-1, pins placement in Terraform, and uses sa-east-1 or mx-central-1 only when residency demands it.

Fiscal documents are versioned data

Brazil’s NF-e derives legal validity from the issuer’s digital signature, and the layout keeps moving: Ato Técnico Conjunto CGIBS/RFB nº 1 of 31 July 2026 suspended mandatory IBS and CBS fields across NF-e, CT-e and NFCom. A Miami parent cannot hard-code that XML, so ERPStack keeps each authority’s payload and layout version as data in PostgreSQL through Drizzle ORM, validates per version with Zod at the API boundary, and retains the raw document.

// Drizzle ORM + PostgreSQL — Miami parent, every LATAM authority in one table
      export const fiscalDoc = pgTable('fiscal_doc', {
        id: uuid('id').primaryKey().defaultRandom(),
        country: char('country', { length: 2 }).notNull(),      // BR, MX, CO, CL, PE
        docType: varchar('doc_type', { length: 12 }).notNull(), // NF-e, NFC-e, CT-e
        layoutVersion: varchar('layout_version', { length: 16 }).notNull(),
        payload: jsonb('payload').notNull(),
        authorizedAt: timestamp('authorized_at', { withTimezone: true }),
      });

OFAC screening on the write path

A Miami logistics distributor onboarding a counterparty in Bogotá screens before the record exists, not in a nightly batch. ERPStack puts sanctions screening in the REST API write path, records list version, match score and disposition as an immutable audit trail, keeps it examinable for the ten years 31 CFR 501.601 requires, and separates entities with row-level security (RLS) in PostgreSQL.

Three currencies on every posting

A Miami consolidation fails when a line stores one amount. ERPStack writes the transaction currency, the subsidiary’s functional currency and the parent’s reporting currency onto every posting, with the rate, source and timestamp. Revaluation becomes a replayable job in PostgreSQL, and the Miami ERP holds Florida’s 6% sales tax with a county surtax capped on the first $5,000 as a rule row covered by Vitest, never a constant.

Evaluate Your Stack

Take our interactive audit to see if your architecture is ready for operational scale.

Start Free Audit

Regional Infrastructure

Infrastructure Region

us-east-1-mia-2a (Miami Local Zone)

Latency Metrics

Sub-5 ms Miami metro via us-east-1-mia-2a, design target

Primary Datacenter

AWS Miami Local Zone; sa-east-1 and mx-central-1 for LATAM

Success Stories in Miami

Order-to-Cash & GST Compliance Engine

GST-compliant invoicing, consignment settlement, and receivables automation for a D2C handcraft brand

Read Case Study

Target Industries in Miami

Frequently Asked Questions

Almost certainly not. Fla. Stat. § 501.702 defines a controller as a for-profit entity doing business in Florida above $1 billion in global gross annual revenues that also either earns 50% of revenue from online advertising, operates a consumer smart speaker with a voice assistant, or runs an app store carrying at least 250,000 applications. Most Miami firms clear none, so ERPStack anchors consent in the PostgreSQL schema to contract terms and your SaaS customers' own regimes.

SAP S/4HANA earns its licence when you need statutory ledgers in several countries and can staff the localisation. Choose custom ERP development when the Miami parent is the only real entity and the subsidiaries are distribution: then you need one PostgreSQL ledger plus per-country fiscal document adapters. ERPStack builds that, and says when SAP or Oracle NetSuite is genuinely cheaper.

Both can clear invoices through a certified provider, and for a Miami company with one foreign subsidiary that is usually cheapest. The break point is change velocity: Brazil alone reissued NF-e validation rules through 2026. When your team patches an Odoo or NetSuite localisation faster than the vendor ships it, a custom Next.js and PostgreSQL ERP with versioned schemas and Vitest coverage costs less.

No. ERPStack is remote-first: no Miami office, no Florida entity, no local staff. What matters is that AWS parents the Querétaro, Buenos Aires, Santiago and Lima Local Zones to us-east-1 — the region behind the Miami Local Zone — so one control plane, one PostgreSQL primary and one set of CI/CD deployment pipelines serve the whole footprint.

Because the consumption tax reform is rewriting the document. The Comitê Gestor do IBS and Receita Federal approved Ato Técnico Conjunto CGIBS/RFB nº 1 of 31 July 2026, suspending mandatory IBS and CBS fields across NF-e, NFC-e, CT-e, BP-e, NF3e and NFCom, after version 1.50 of NT 2025.001 landed on 2 June 2026. A Miami parent stores layouts as versioned rows in PostgreSQL, so ERPStack ships each change as a Drizzle ORM migration rather than an ERP upgrade.

Closer than you think, with one control plane. AWS operates Local Zones at us-east-1-qro-1a in Querétaro, us-east-1-bue-1a in Buenos Aires, us-east-1-scl-1a in Santiago and us-east-1-lim-1a in Lima, all parented to us-east-1 — the region behind the Miami Local Zone. ERPStack runs Next.js and Redis in-market, holds the PostgreSQL primary in us-east-1, pins it in Terraform, and uses sa-east-1 or mx-central-1 only when residency requires it.

Ten years. Under 31 CFR 501.601 records of transactions and blocked property must stay available for examination for at least 10 years — longer than most ERP purge policies. ERPStack writes every screening decision, list version, match score and analyst disposition as an immutable audit trail in PostgreSQL, with the archive in AWS object storage under a retention lock, so a Miami compliance officer can produce ten years on demand.

It applies to Florida residents, not to your Miami address. A breach affecting 500 or more individuals in Florida must reach the Department of Legal Affairs no later than 30 days after determination, with 15 extra days for good cause. ERPStack tags every person row in PostgreSQL with a jurisdiction, so the count is a query and the same index serves a data subject access request (DSAR).

Three amounts per line, never one. Every posting in the PostgreSQL ledger carries the transaction currency, the subsidiary's functional currency and the Miami parent's reporting currency, plus the rate, its source and its timestamp. Revaluation becomes a replayable job, and ERPStack lets an auditor trace any consolidated ERP figure back to the original Brazilian or Colombian document.

Related reading

Explore Custom ERP Solutions by Location, Industry, and Alternatives

Global Architectures