How to Create Custom Invoices in FluentCart
If you need FluentCart custom invoices for a service or an agreed order, you have more than one way to handle them. Native manual orders can be enough for a straightforward sale. GT Extensions adds a dedicated invoice workspace when you need to prepare a bill, reuse customer details and review the amount before issuing it.
The important decision is how you want to manage the sale. A customer buying an existing product at its listed price needs very little preparation. A customer paying for agreed work may need a bill with details that belong to that particular job.
I want to keep that distinction clear before we get to the settings, because you shouldn’t install an extension just to discover that your store already does what you need.
Choose Your Invoice Workflow
FluentCart already has native invoicing features. Its manual-order documentation describes creating an order and providing a payment link. It also documents editable PDF invoice templates. Check which options your installed version and edition provide first.
The practical choice depends on the job:
- A straightforward catalog sale: Start with a native manual order when you need to select a customer and add existing products.
- A different invoice document design: Check FluentCart’s PDF templates before adding another invoicing tool.
- A custom bill you prepare repeatedly: Consider the Custom Invoices module for its dedicated draft-to-issue workflow and reusable customer details.
- A price the buyer hasn’t accepted yet: Use a proposal workflow before making the invoice payable.
Custom Invoices is part of GT Extensions for FluentCart, my FluentCart add-on. Its useful difference is how you prepare and manage the invoice around the native order.
Set Up FluentCart Custom Invoices
The invoice module needs FluentCart 1.6.4 or newer. That requirement matters because the module relies on the native commerce workflow underneath it.
To get started:
- Open FluentCart > GT Extensions.
- Enable Custom Invoices and save the module settings.
- Open its invoice workspace and create a draft.
- Select the customer or enter the details for the new bill.
- Choose the invoice currency before entering amounts.
Prices on an invoice are entered in its selected currency. A USD figure should therefore be entered as the intended USD amount; a merchant shouldn’t copy an INR number into the field and assume that changing the label converts it.

Prepare the Customer and Items
An invoice should make the agreed work recognizable. Say you sell a website audit with an additional migration-planning session. The audit can be a catalog product, while the extra work can be a custom item if it isn’t something you list in the store.
That lets you describe the actual job without adding a public product for every small variation in scope.
The draft supports these details:

- Catalog or custom items: Select products you already sell or enter the agreed items for this bill.
- Customer billing details: Check the company and address against the buyer’s billing instructions.
- Separate delivery details: Use these when the delivery destination differs from the billing address.
- Item images or icons: Catalog images are picked up automatically, and invoice-specific overrides don’t change the product.
- Private notes: Keep internal notes separate from the customer-facing invoice.
Customer details deserve particular attention. The Save these details to the customer profile for future invoices option creates or updates the native customer details when you save the draft. If a change belongs only to this job, clear that option and keep it as an invoice-only override.
For example, a returning buyer may ask you to bill a different branch for this project. Saving that address globally could make the next invoice start with the wrong branch. The checkbox determines whether you’re changing this bill or the details you’ll reuse later.
Add Your Seller Details
The Invoice appearance settings let you import seller information from FluentCart Store Setup and choose what appears on the invoice.
Available information includes:
- Your seller name and logo.
- Address and company name.
- Registration and tax identifiers.
The module captures those settings when you issue a new invoice. An invoice you’ve already issued keeps its original seller details, so a later branding change doesn’t silently rewrite that document.
This is useful record keeping, but the presence of an identifier field doesn’t determine which details your business is required to include. Your billing requirements still decide what belongs there.
Review, Issue and Send
Saving the draft gives you a chance to review the calculated tax and totals. Issuing and sending are separate actions, and that is worth checking before you leave the screen expecting the customer to have received something.
The sequence is:
- Save the draft. Check the customer, currency and items.
- Review the totals. Resolve unexpected charges before issuing.
- Issue the invoice. The module creates a native FluentCart order and locks the issued version.
- Send the payment link. Issuing the invoice alone doesn’t send that link to the customer.
- Follow the native order. FluentCart handles the payment and subsequent order workflow.
An issued invoice is a bill awaiting payment, not evidence that money has arrived. The customer view reflects its status, and a paid invoice no longer presents a payment button.

The optional reminder sends once after the configured pending period. It depends on your store’s email delivery; it should not be treated as an ongoing collection campaign.
Correct an Issued Invoice
An issued invoice is locked. If you need to revise it, the module can duplicate it into a new draft rather than change the bill behind a payment link you’ve already shared.
Duplicating does not, by itself, tell the customer which bill they should pay. You still need to deal with the original appropriately:
- If no payment has been recorded: Review whether the old invoice should be cancelled before sending its replacement. Cancellation blocks its payment links and open invoice checkouts.
- If a payment has been recorded: Manage the linked order in FluentCart. The invoice cancellation action doesn’t replace the native payment or refund workflow.
This is where a casual edit can become confusing for both sides. Keeping the old bill and the revised draft distinct makes the change visible instead of leaving the buyer to work out why an amount moved.
The Limits
Custom Invoices suits a defined one-time bill. It doesn’t cover every way a business might charge for work.
The current boundaries are:
- One-time invoices: The module doesn’t provide recurring invoice schedules.
- No online partial-balance collection: Don’t build a deposit-and-remainder promise around this invoice checkout.
- Native payments: The module doesn’t add a payment gateway or approve your merchant account for a currency.
- Separate service delivery: Receiving payment doesn’t perform the work described on the bill.
If your existing native order screen already covers the sale, it is sensible to keep using it. The dedicated workspace earns its place when the preparation and reuse save you repeated manual handling.
Prepare Your First Invoice
Start with one representative bill and check whether the customer-facing description is enough for the buyer to recognize the agreement. A clear scope matters more than an elaborate invoice design.
The GT Extensions training course provides the module setup guidance. Keep the review, issue and send sequence beside you until those actions become familiar.
Your next invoice should leave the customer clear about the work and the amount they’re being asked to pay.
Tell Google you want more of this.
Add Gaurav Tiwari as a preferred sourceOne tap, and this site shows up more often in your own Top Stories, AI Overviews and AI Mode. Remove it any time.