Skip to main content

Invoice generator for AI agents

AI agents, such as Meta’s Muse, can make invoices with the FluxFina invoice generator through an MCP server. It has one tool, create_invoice, that returns the invoice as a PDF. No account is needed and nothing is stored.

Contents

Connect

Add this server to your MCP client:

https://fluxfina.com/api/mcp
  • Transport: streamable HTTP. Send every request with POST.
  • No sign-in, API key, or OAuth.
  • Stateless: there are no sessions, so GET and DELETE on the endpoint return 405.

The create_invoice tool

Makes one invoice from the details you pass. It changes nothing and can be called again with the same input to get the same invoice. The result has two parts:

  • A text summary, such as “Invoice INV-0042 for Contoso LLC, total $3,293.99”, followed by a link that opens the same invoice in the generator so the user can edit it. The link is left out when it would be longer than 8,000 characters.
  • The PDF, as an embedded resource of type application/pdf. It is the PDF the web generator makes, with a small “Made with FluxFina” line at the foot of each page.

Invalid input returns a tool error that names each field to fix, and no PDF. Ask the user for anything required you don’t know rather than inventing it.

Input

Four fields are required: currency, companyName, clientName, and at least one entry in productLines. Everything else is optional. Labels fall back to the generator’s, the issue date to today, and the due date to 30 days later. Unknown fields are ignored.

FieldTypeDescription
currency

Required

One of USD, EUR, GBP, CAD, AUD, CHF, JPY, PLN, UAHISO 4217 code for every amount on the invoice
timeZoneText, up to 64 charactersThe user's IANA time zone, like America/New_York. Sets which day "today" is for the default dates; without it, UTC.
companyName

Required

Text, up to 256 charactersWho is sending the invoice
companyAddressText, up to 256 charactersSender's street address
companyAddress2Text, up to 256 charactersSender's city, region and postal code
companyCountryText, up to 256 charactersSender's country
logoImage data URL, up to 4 KBSender logo as a base64 data:image URL, at most 4 KB
logoWidthNumberLogo width in points
clientName

Required

Text, up to 256 charactersWho the invoice is for
clientAddressText, up to 256 charactersClient's street address
clientAddress2Text, up to 256 charactersClient's city, region and postal code
clientCountryText, up to 256 charactersClient's country
invoiceTitleText, up to 256 charactersInvoice number, like INV-0042
invoiceDateText, up to 256 charactersIssue date as it should appear, like "Sep 25, 2026". Defaults to today.
invoiceDueDateText, up to 256 charactersDue date as it should appear. Defaults to 30 days after today.
paymentTermsStartText, up to 256 charactersStart of the service period, if any
paymentTermsEndText, up to 256 charactersEnd of the service period, if any
customFieldsList, up to 200Extra header fields, like a PO number
customFields[].label

Required

Text, up to 80 characters
customFields[].value

Required

Text, up to 256 characters
productLines

Required

List, 1 to 200The line items
productLines[].description

Required

Text, up to 10,000 charactersWhat is being billed
productLines[].quantity

Required

Number, or a number as textQuantity, as a number without a currency symbol
productLines[].rate

Required

Number, or a number as textUnit price, as a number without a currency symbol
adjustmentsList, up to 200Discounts, tax, shipping or custom rows after the subtotal
adjustments[].kind

Required

One of discount, tax, shipping, custom
adjustments[].mode

Required

One of currency, percent"percent" applies the amount as a percentage of the subtotal
adjustments[].labelText, up to 80 charactersOverrides the default label for this kind
adjustments[].amount

Required

Number, or a number as textAdjustment amount, as a number without a currency symbol
notesText, up to 10,000 charactersNotes shown under the totals, like payment instructions
termText, up to 10,000 charactersTerms shown at the bottom
titleText, up to 80 charactersDocument heading. Defaults to the generator's label.
billToText, up to 80 charactersLabel above the client. Defaults to the generator's label.
invoiceTitleLabelText, up to 80 charactersLabel for the invoice number. Defaults to the generator's label.
invoiceDateLabelText, up to 80 charactersLabel for the issue date. Defaults to the generator's label.
paymentTermsLabelText, up to 80 charactersLabel for the service period. Defaults to the generator's label.
invoiceDueDateLabelText, up to 80 charactersLabel for the due date. Defaults to the generator's label.
productLineDescriptionText, up to 80 charactersLine items column: description. Defaults to the generator's label.
productLineQuantityText, up to 80 charactersLine items column: quantity. Defaults to the generator's label.
productLineQuantityRateText, up to 80 charactersLine items column: unit price. Defaults to the generator's label.
productLineQuantityAmountText, up to 80 charactersLine items column: amount. Defaults to the generator's label.
subTotalLabelText, up to 80 charactersLabel for the subtotal. Defaults to the generator's label.
totalLabelText, up to 80 charactersLabel for the total. Defaults to the generator's label.
notesLabelText, up to 80 charactersLabel for the notes. Defaults to the generator's label.
termLabelText, up to 80 charactersLabel for the terms. Defaults to the generator's label.
templateOne of default, classic, minimal, bold, editorial, ledger, letter, studio, folio, checkout, banner, cards, rails, poster, remittance, wide, receipt, clean, plain, airy, swiss, blank, freelance, corporate, consulting, agency, counsel, accountant, clinic, software, harbor, canvas, block, pulse, metro, horizon, startup, heritage, continental, ivory, royal, bistro, atelier, spotlight, lens, palette, zine, stage, petal, spreadsheet, itemized, contractor, workshop, panorama, freight, statement, utility, rent, trades, export, fiscal, pocket, memo, job, till, cafe, ticketHow the invoice looks. One of: "default" (clean sans-serif, the sender opposite the title, and a dark band over the line items); "classic" (a serif letterhead, centred at the top, with the line items between rules); "minimal" (black and one grey on white, the title at the top left, no fills, only hairlines); "bold" (a large Montserrat title on a teal-tinted header, a teal band over the line items); "editorial" (a display serif title in forest green, with the line items between green rules); "ledger" (monospace figures in compact, ruled rows, for invoices with many lines); "letter" (a European business letter, the client placed for a windowed envelope, the title as the subject); "studio" (a navy sidebar down the left with the seller, title, amount due, client and dates, the items beside it); "folio" (a cream rail down the right with the amount due, dates and client, a display serif title); "checkout" (the amount due first, large on a soft card with its due date, like a payment page); "banner" (a full-width slate banner with the seller and title in white, a sky strip for the client and dates); "cards" (the client and the dates in outlined cards side by side, the sum on a filled card); "rails" (a large title, then seller, client and dates side by side on black rails, numbered line items); "poster" (the title huge in a red display serif across the top, the parties in a quiet grid under it); "remittance" (a traditional serif invoice ending in a tear-off remittance slip to return with the payment); "wide" (US Letter in landscape, for long tables, with numbered line items); "receipt" (an 80mm till-roll receipt, one centred column, the items stacked); "clean" (plain sans-serif, a blue rule over the line items and under the totals); "plain" (black on white on US Letter, no fills, hairlines between the rows); "airy" (generous white space, a light title and a teal accent, no row lines); "swiss" (a bold geometric title in red at the top left, the parties in three columns); "blank" (the plainest page: one grey, no lines, nothing but the figures, on US Letter); "freelance" (the amount due large under the header, a violet accent, the rest quiet); "corporate" (a navy band across the top with the seller and title in white, a navy table header); "consulting" (a pale slate band behind the header, the client and dates on rails, on US Letter); "agency" (a bold geometric title, the client and dates in outlined cards, the amount due on a tinted card); "counsel" (a centred serif letterhead in burgundy, ruled tables and a double rule under the total); "accountant" (compact, numbered lines between strong green rules, a double rule under the total); "clinic" (a soft teal band behind the header, the client and dates in rounded cards); "software" (an indigo band across the top, the amount due first, clean sans-serif); "harbor" (a teal sidebar down the left with the seller, title, amount due and client); "canvas" (a pale coral rail down the right with the client and dates, a geometric title); "block" (an orange band across the top, the amount due on a tinted card, an orange table header); "pulse" (the amount due first on a pink card, a large pink title, round corners); "metro" (the client and dates in cards, a green table header and total band); "horizon" (a sky-blue band across the top, the client and dates on rails, on US Letter); "startup" (a violet sidebar down the right with the amount due, dates and client); "heritage" (a centred serif letterhead in brown, ruled tables, a double rule under the total); "continental" (a bookish serif laid out as a business letter, the sender at the right, in pine green); "ivory" (warm ivory paper, a serif title in bronze, fine rules); "royal" (a centred serif header on a pale navy band, formal, with a double rule under the total); "bistro" (a serif title in wine red, the client and dates in cards, soft corners); "atelier" (a large light serif title in charcoal across the top, no row lines); "spotlight" (the title huge in magenta across the top, a black band over the line items); "lens" (a large serif title in black, a plain rail down the right with the client and dates); "palette" (a coral sidebar down the left, a big title, round corners); "zine" (monospace throughout, a huge title, a mustard band over the line items); "stage" (a deep plum band across the top with a large title, the amount due below it); "petal" (a blush band behind the header, a rose serif title, rounded cards); "spreadsheet" (monospace figures in compact numbered rows between strong rules); "itemized" (compact numbered lines under a blue band, on US Letter); "contractor" (numbered lines under an orange band, strong rules, a bold industrial title); "workshop" (the client and dates on red rails, numbered lines, a red total band); "panorama" (A4 in landscape, numbered lines under a green band); "freight" (US Letter in landscape, compact numbered lines between slate rules); "statement" (a formal page on US Letter with the client and dates on rails, ending in a remittance slip); "utility" (the amount due first on a blue card, a tear-off slip at the foot, like a utility bill); "rent" (a serif page with the amount due first, ending in a remittance slip for the tenant); "trades" (an amber band across the top, numbered lines, and a tear-off remittance slip); "export" (a formal ruled page with numbered lines and the parties side by side, for goods sent abroad); "fiscal" (a clear, ruled page: title and number first, dates prominent, a double rule under the total); "pocket" (an A5 half sheet, compact, a blue title and a blue rule over the line items); "memo" (a 5.5 × 8.5 in half sheet, compact, the amount due first); "job" (an A5 half sheet with numbered lines under an amber rule); "till" (an 80mm till receipt in clean sans-serif, the total on a band); "cafe" (an 80mm receipt with a serif title in espresso brown); "ticket" (a 58mm till slip in monospace, as a handheld printer prints it). Defaults to "default".

JSON Schema

The same input is published as JSON Schema in the tool listing (tools/list). An input version only grows by new templates; a change that could break an agent ships as a new version instead. Calls without template, as agents made before templates, still work.

Templates

Pass template to choose how the invoice looks. It changes only the design, never what the invoice says. Without it the invoice uses Default, and the link opens the generator in the same template.

ValueLooks like
defaultDefault: clean sans-serif, the sender opposite the title, and a dark band over the line items
classicClassic: a serif letterhead, centred at the top, with the line items between rules
minimalMinimal: black and one grey on white, the title at the top left, no fills, only hairlines
boldBold: a large Montserrat title on a teal-tinted header, a teal band over the line items
editorialEditorial: a display serif title in forest green, with the line items between green rules
ledgerLedger: monospace figures in compact, ruled rows, for invoices with many lines
letterLetter: a European business letter, the client placed for a windowed envelope, the title as the subject
studioStudio: a navy sidebar down the left with the seller, title, amount due, client and dates, the items beside it
folioFolio: a cream rail down the right with the amount due, dates and client, a display serif title
checkoutCheckout: the amount due first, large on a soft card with its due date, like a payment page
bannerBanner: a full-width slate banner with the seller and title in white, a sky strip for the client and dates
cardsCards: the client and the dates in outlined cards side by side, the sum on a filled card
railsRails: a large title, then seller, client and dates side by side on black rails, numbered line items
posterPoster: the title huge in a red display serif across the top, the parties in a quiet grid under it
remittanceRemittance: a traditional serif invoice ending in a tear-off remittance slip to return with the payment
wideWide: US Letter in landscape, for long tables, with numbered line items
receiptReceipt: an 80mm till-roll receipt, one centred column, the items stacked
cleanClean: plain sans-serif, a blue rule over the line items and under the totals
plainPlain: black on white on US Letter, no fills, hairlines between the rows
airyAiry: generous white space, a light title and a teal accent, no row lines
swissSwiss: a bold geometric title in red at the top left, the parties in three columns
blankBlank: the plainest page: one grey, no lines, nothing but the figures, on US Letter
freelanceFreelance: the amount due large under the header, a violet accent, the rest quiet
corporateCorporate: a navy band across the top with the seller and title in white, a navy table header
consultingConsulting: a pale slate band behind the header, the client and dates on rails, on US Letter
agencyAgency: a bold geometric title, the client and dates in outlined cards, the amount due on a tinted card
counselCounsel: a centred serif letterhead in burgundy, ruled tables and a double rule under the total
accountantAccountant: compact, numbered lines between strong green rules, a double rule under the total
clinicClinic: a soft teal band behind the header, the client and dates in rounded cards
softwareSoftware: an indigo band across the top, the amount due first, clean sans-serif
harborHarbor: a teal sidebar down the left with the seller, title, amount due and client
canvasCanvas: a pale coral rail down the right with the client and dates, a geometric title
blockBlock: an orange band across the top, the amount due on a tinted card, an orange table header
pulsePulse: the amount due first on a pink card, a large pink title, round corners
metroMetro: the client and dates in cards, a green table header and total band
horizonHorizon: a sky-blue band across the top, the client and dates on rails, on US Letter
startupStartup: a violet sidebar down the right with the amount due, dates and client
heritageHeritage: a centred serif letterhead in brown, ruled tables, a double rule under the total
continentalContinental: a bookish serif laid out as a business letter, the sender at the right, in pine green
ivoryIvory: warm ivory paper, a serif title in bronze, fine rules
royalRoyal: a centred serif header on a pale navy band, formal, with a double rule under the total
bistroBistro: a serif title in wine red, the client and dates in cards, soft corners
atelierAtelier: a large light serif title in charcoal across the top, no row lines
spotlightSpotlight: the title huge in magenta across the top, a black band over the line items
lensLens: a large serif title in black, a plain rail down the right with the client and dates
palettePalette: a coral sidebar down the left, a big title, round corners
zineZine: monospace throughout, a huge title, a mustard band over the line items
stageStage: a deep plum band across the top with a large title, the amount due below it
petalPetal: a blush band behind the header, a rose serif title, rounded cards
spreadsheetSpreadsheet: monospace figures in compact numbered rows between strong rules
itemizedItemized: compact numbered lines under a blue band, on US Letter
contractorContractor: numbered lines under an orange band, strong rules, a bold industrial title
workshopWorkshop: the client and dates on red rails, numbered lines, a red total band
panoramaPanorama: A4 in landscape, numbered lines under a green band
freightFreight: US Letter in landscape, compact numbered lines between slate rules
statementStatement: a formal page on US Letter with the client and dates on rails, ending in a remittance slip
utilityUtility: the amount due first on a blue card, a tear-off slip at the foot, like a utility bill
rentRent: a serif page with the amount due first, ending in a remittance slip for the tenant
tradesTrades: an amber band across the top, numbered lines, and a tear-off remittance slip
exportExport: a formal ruled page with numbered lines and the parties side by side, for goods sent abroad
fiscalFiscal: a clear, ruled page: title and number first, dates prominent, a double rule under the total
pocketPocket: an A5 half sheet, compact, a blue title and a blue rule over the line items
memoMemo: a 5.5 × 8.5 in half sheet, compact, the amount due first
jobJob: an A5 half sheet with numbered lines under an amber rule
tillTill: an 80mm till receipt in clean sans-serif, the total on a band
cafeCafe: an 80mm receipt with a serif title in espresso brown
ticketTicket: a 58mm till slip in monospace, as a handheld printer prints it

Any other value returns a tool error that lists these, and no PDF.

Limits

  • Each IP address can send 600 requests at once and then 600 a minute. Over that, requests get a 429 with a Retry-After header.
  • Each IP address can make 120 invoices at once and then 120 a minute, within 300 a minute for all callers together. Over either, create_invoice returns a tool error that says how many seconds to wait.
  • A request body can be up to 256 KB. A larger one gets a 413.
  • Up to 200 line items, 200 extra rows after the subtotal, and 200 custom fields per invoice. A logo must be a PNG or JPEG data URL of up to 4 KB; web addresses are not fetched. Any other logo is left out of the PDF, and the result says so.

Privacy

The invoice details are used only to make the PDF and the link. They are held in memory while the request runs and are never stored or logged. The link carries the invoice after the “#”, which browsers don’t send to servers. Our servers record only that a request was made (IP address, time, and the address called) and a per-IP request count that expires within two minutes. Read more in the Privacy Policy.

Example prompts

  • “Make an invoice from Northwind Studio to Contoso LLC for two days of design work at $750 a day, due in 14 days.”
  • “Invoice Globex GmbH for September hosting, €49.99, add 19% VAT, and put our IBAN DE89 3704 0044 0532 0130 00 in the notes.”
  • “Create invoice INV-0042 in pounds for Acme Ltd: 3 hours of consulting at £120 an hour and a £25 travel fee.”
  • “Bill Initech $2,400 for the October retainer, on the classic template.”