To send an invoice on Discord, use an invoice bot that renders a branded receipt with a unique order ID, the products, total, payment method and status, and posts it in the buyer's ticket. With Noxyr that is one command, /invoice create, after a one-time /invoice branding setup for your logo, name and ID prefix. This guide covers the setup, what belongs on a Discord invoice, how to look orders up later, and how invoices feed sales reports.
Why bother with invoices on Discord at all?
Most Discord sellers start by typing "paid, thanks" in a ticket. That works until the first dispute, the first staff member who forgets who paid, or the first month you try to work out how much you actually earned. An invoice fixes all three: the buyer gets a receipt they can show, staff get a searchable order ID, and you get numbers. It also makes a small shop look like a real one, which matters when the buyer is deciding whether to trust you with money.
What a Discord invoice should contain
- Order ID with a prefix you recognise, such as
NX-0198. Prefixes make screenshots instantly identifiable and stop two servers from producing the same ID. - Your brand: name, logo, accent colour and a footer line (support handle, refund policy).
- Customer name or Discord tag.
- Products and quantities, with a unit price and line total.
- Discount applied, whether a percentage or a voucher code.
- Currency and grand total.
- Payment method and status: Successful, Pending or Failed. Pending is the one people forget, and it is the one that prevents early delivery.
- Date and issuing staff member.
Step 1: Set your invoice branding once
Run /invoice branding (or open Invoices in the dashboard) and set the brand name, logo image, ID prefix, accent colour and footer. Every invoice the bot renders from then on uses them, so a change to the logo updates future receipts without touching each one. Keep the prefix short and uppercase; three to four letters plus a dash is the sweet spot.
If you also run a catalog, set the same accent colour on the catalog embed (/catalog setup) so the shop, cart and invoice look like one product. Buyers notice consistency even when they cannot name it.
Step 2: Create the invoice in the order ticket
Inside the buyer's ticket, run /invoice create with:
- channel: where to post it (normally the ticket you are in).
- amount and currency: USD, INR, EUR or GBP.
- payment_method: PayPal, UPI, Crypto, Cash App, Venmo, Revolut, Wise, bank transfer, gift card, Skrill, Amazon card or cash.
- payment_status: Successful, Pending or Failed.
- customer_name, product_name and quantity, plus up to four more products for multi-item orders.
- Optional discount_percent, voucher_code, custom_price and a short description.
The bot renders the invoice as an image and posts it. When the order came through the cart, the products and total are already sitting in the ticket, so filling the command takes about twenty seconds. Full shop flow in how to sell products on Discord.
Step 3: Mark the status honestly
Create the invoice as Pending when you send payment details and the money has not landed. Once it clears, issue the final invoice as Successful. If the buyer disappears, a Failed invoice keeps the record without polluting your revenue numbers; the sales report lets you choose whether pending and failed orders are counted. Delivering on a pending invoice is how sellers lose product to reversed payments.
Step 4: Look up any order later
Every invoice is stored with its details. /invoice check order_id is a public command, so buyers can confirm an order is genuine with their ID and staff can pull up any past order in a ticket, which is also a handy way to expose fake "proof of purchase" screenshots. The dashboard lists the full invoice history with images, totals and a status filter, and its Export button downloads the records for safekeeping.
Step 5: Read the numbers
Because reports read the same invoice records, they always match the receipts. /invoice sales shows revenue, best sellers and a payment-method breakdown for the last 7, 30 or 90 days or all time, and can post the report into a channel. /invoice top-buyers ranks customers by orders or amount spent, per currency, which is exactly the list you want when deciding who gets early access or a loyalty voucher. /invoice sales-style sets the banner, colours and titles of those embeds if you post them publicly. The same numbers are exposed through the Server API if you want them on a website.
Invoice bot options compared
- Noxyr: branded invoice images, custom prefix, four currencies, five products per invoice, discounts and vouchers, lookup by ID, sales and top-buyer reports, dashboard export. Free with no invoice cap. See the invoice bot page.
- Hosted-checkout platforms (Sellix and similar): receipts are emailed by the platform after a card payment; fine if you sell that way, irrelevant if you get paid by PayPal or UPI in a ticket.
- Generic embed bots and templates: pretty, but nothing is stored, nothing is searchable and IDs are whatever you type. Acceptable for a one-off, not for a shop.
- External invoicing tools (Wave, Zoho, PayPal invoices): proper accounting features and tax fields. Overkill for most Discord shops and disconnected from the ticket where the sale happened.
Small habits that make invoices worth it
- One invoice per order, issued in the ticket, never in DMs.
- Same prefix forever. Changing it makes old screenshots ambiguous.
- Ask for a review right after the Successful invoice while the buyer is happy (review guide).
- Close the ticket with the order ID in the close reason so the transcript is easy to spot in the list.
- Export from the dashboard monthly. It takes one click.
Common questions
Can I send an invoice on Discord for free? Yes. Noxyr's invoice module is free with no limit on the number of invoices, and it does not take a cut of the sale.
Does the invoice bot collect the payment? No. The invoice records which method was used and whether it succeeded; the payment itself happens on your PayPal, UPI, crypto or bank account.
Can I invoice in my local currency? USD, INR, EUR and GBP are supported on invoices. Use /currency to check live rates when a buyer pays in something else, and record the amount in the closest supported currency.
What if I make a mistake on an invoice? Issue a corrected one and mark the wrong one Failed in its description, or set the status accordingly. Keeping both preserves the audit trail, which matters more than a tidy list.