← Back to App

Quick Start

Welcome to InvoiceDLT — a hybrid TradFi and DeFi invoicing platform. Accept payments via Stripe (traditional) or XRPL (blockchain). Send your first invoice in under 5 minutes.

1
Create your account Sign up at the login page with your email and password. Check your inbox for a welcome email with your account details.
2
Add your first client Go to Clients in the navigation and click Add Client. Enter their name, email, and billing address.
3
Create an invoice Click New Invoice from the dashboard or the Invoices page. Select your client, add line items, set a due date, and save.
4
Send to your client From the invoice detail page, click Send Invoice. Your client receives an email with a link to view and pay online.
5
Get paid Your client can pay by card (Stripe) or XRP via their XRPL wallet. You'll be notified instantly when payment is received.

Your Dashboard

The dashboard gives you a real-time view of your invoicing business at a glance.

Dashboard Cards

CardWhat it shows
Total InvoicesAll invoices you've created (all statuses)
PaidInvoices that have been fully paid
OverdueInvoices past their due date with no payment received
Revenue MTDTotal amount collected this calendar month

Invoice Status Meanings

StatusWhat it means
DraftCreated but not yet sent. Only you can see it.
SentDelivered to your client. Awaiting payment.
ViewedYour client has opened the invoice link.
PaidPayment confirmed. No further action needed.
OverdueDue date has passed with no payment. Consider sending a reminder.
CancelledInvoice has been voided. Cannot be paid.

Quick Actions

Use the New Invoice button on the dashboard to jump straight to invoice creation without navigating to the Invoices page first.

Managing Clients

Every invoice is tied to a client. InvoiceDLT stores your client list so you don't have to re-enter their details each time.

Adding a Client

  1. Go to Clients in the navigation menu.
  2. Click Add Client.
  3. Fill in the client's name (required), email address (required for sending invoices), company name, phone, and billing address.
  4. Click Save Client.

Editing a Client

Click on any client's name from the Clients list to open their profile. Click Edit to update any details. Changes apply to future invoices — existing invoices retain the original information.

Client Limits by Plan

PlanClient Limit
Solo (Free)3 clients
Pro50 clients
BusinessUnlimited
💡 Tip: When you're near your client limit, you'll see a notice on the Clients page. Upgrade your plan to add more.

Creating Invoices

Invoice Fields Explained

FieldRequired?Description
ClientYesSelect from your saved clients, or add a new one on the fly.
Invoice NumberYesAuto-generated, but you can customize it (e.g. INV-2026-001).
Issue DateYesThe date the invoice is created. Defaults to today.
Due DateYesWhen payment is expected. Common terms: Net 15, Net 30.
CurrencyYesUSD by default. XRP available if XRPL payments are enabled.
Line ItemsYesEach line has a description, quantity, and unit price. Tax rate optional.
NotesNoVisible to your client. Good for payment instructions or thank-you messages.
Internal NotesNoPrivate — only visible to you. Use for project references or context.

Adding Line Items

  1. Click Add Line Item on the create invoice form.
  2. Enter a description (e.g. "Web design — homepage"), quantity, and unit price.
  3. Add a tax percentage if applicable (e.g. 8.5 for 8.5%).
  4. Repeat for each service or product.
  5. The subtotal, tax, and total are calculated automatically.

Saving vs. Sending

Save as Draft saves the invoice without sending it — useful when you want to review before sending. Save and Send saves and immediately emails the invoice to your client.

Invoice Limits by Plan

PlanInvoices per Month
Solo (Free)5
Pro50
BusinessUnlimited
EnterpriseUnlimited (coming soon)

Sending Invoices

Sending by Email

From any invoice's detail page, click Send Invoice. InvoiceDLT emails your client a professional invoice with a secure payment link. The invoice status updates from Draft to Sent automatically.

Sending a Reminder

If an invoice is overdue, open the invoice and click Send Reminder. This resends the invoice email with a note that payment is past due. Use this sparingly — one reminder is usually enough.

Sharing a Payment Link

Every invoice has a unique payment link that you can copy and share directly (via text, WhatsApp, etc.) without needing to send an email through the app. Find it on the invoice detail page under Share Link.

⚠️ Important: Payment links are public URLs — anyone with the link can view and pay the invoice. Only share them with the intended client.

Tracking Payments

How Payments Work

InvoiceDLT supports two payment methods: credit/debit card (via Stripe) and XRP cryptocurrency (via XRPL). Your client chooses when they open their invoice.

Card Payments (Stripe)

When your client pays by card, Stripe processes the payment and InvoiceDLT automatically marks the invoice as Paid. Funds are deposited to your connected Stripe account, typically within 2 business days.

To receive card payments, you must complete Stripe Connect onboarding from the Payment Setup page. This is a one-time process.

Marking an Invoice as Paid Manually

If a client pays you outside the app (cash, bank transfer, etc.), open the invoice and click Mark as Paid. Enter the payment date and an optional note. This updates the invoice status and your revenue metrics.

Viewing Payment History

The invoice detail page shows a full payment timeline: when it was created, sent, viewed, and paid. Use the Invoices list with the Paid filter to see all collected invoices.

XRPL & XRPL Payments

InvoiceDLT is built on the XRP Ledger — one of the fastest, lowest-cost payment networks in the world. Accept XRP directly from clients worldwide with no bank required.

Setting Up Your XRP Wallet

  1. Go to Account SettingsProfile.
  2. Enter your XRPL wallet address (starts with r, e.g. rHb9...).
  3. Click Save. Your XRPL address is now shown on all invoices as a payment option.
💡 Don't have an XRPL wallet? Download Xaman (formerly XUMM) — the most trusted XRPL wallet app for iOS and Android. It's free. Your wallet address is generated when you create your account.

How Your Client Pays with XRP

  1. Client opens their invoice payment link.
  2. They select Pay with XRP.
  3. A QR code appears with the exact XRP amount and your wallet destination.
  4. Client scans the QR code with their Xaman (or compatible) wallet app and confirms.
  5. The transaction appears on the XRPL within 3–5 seconds.

Verifying XRPL Payment

After paying, your client submits their XRPL transaction ID (txid) through the payment page. InvoiceDLT verifies it against the XRPL ledger in real time. Once confirmed, the invoice is marked Paid automatically.

XRP ↔ USD Conversion

InvoiceDLT shows the USD-equivalent XRP amount using live market rates at the time of invoice viewing. The rate is refreshed every 60 seconds. Note that XRP price fluctuates — the exact USD value received may differ slightly from the invoice amount.

Account & Settings

Access your account settings by clicking your avatar (top right) → Profile & Account.

Updating Your Profile

Change your display name or email address from the Profile tab. Click Save Changes to apply.

Changing Your Password

Go to Security tab in Settings. Enter your current password, then your new password (must be 8 or more characters). Click Update Password.

Notification Preferences

The Notifications tab lets you choose which emails InvoiceDLT sends you: payment alerts, billing emails, and product updates.

API Keys

If you're a developer integrating InvoiceDLT with other tools, the API Keys tab lets you generate, view, copy, and revoke API keys. Pro and Business plans include multiple API keys.

⚠️ Keep your API key secret. Anyone with your key can access your invoices and client data. If you believe your key has been compromised, regenerate it immediately.

Plans & Billing

Plan Comparison

FeatureSolo (Free)ProBusinessEnterprise*
Invoices/month550UnlimitedUnlimited
Clients350UnlimitedUnlimited
API keys1UnlimitedUnlimited
Webhooks1UnlimitedUnlimited
XRPL payments
Card payments
PDF export
Priority support

* Enterprise tier coming soon

Upgrading Your Plan

  1. Click your avatar → Billing & Plan.
  2. Click Manage Billing.
  3. Select your desired plan in the Stripe billing portal.
  4. Your new plan activates immediately after payment.

Cancelling

Cancel anytime from the Stripe billing portal (via Manage Billing). Your plan downgrades to Solo (Free) at the end of your billing period. All your data is preserved.

Refund Policy

We offer a 7-day refund on monthly plans if you're not satisfied. Email support@invoicedlt.com within 7 days of your first charge. Annual plans are non-refundable after 30 days.

Troubleshooting

My client says they didn't receive the invoice email

Ask them to check their spam/junk folder. If it's not there, verify the email address on their client profile is correct. You can resend from the invoice detail page. For persistent issues, share the payment link directly instead.

My invoice shows "Overdue" but the client paid

If the client paid outside the app (bank transfer, cash), use Mark as Paid on the invoice to update the status manually.

XRPL Payment was sent but invoice is still "Sent"

The XRPL verification requires the client to submit their transaction ID (txid) after paying. Ask them to complete that step on the payment page. If they've lost the txid, it can be found in their XRPL wallet transaction history.

I can't add more clients / create more invoices

You've reached your plan's limit. Upgrade to Pro or Business from Billing & Plan in your account settings.

I forgot my password

On the login page, click Forgot password? and enter your email. You'll receive a reset link within a few minutes. Check spam if it doesn't arrive.

Still need help?

Email us at support@invoicedlt.com or use the AI chat assistant (🤖 bottom right) for instant answers.

Authentication

InvoiceDLT uses two authentication methods depending on your use case.

Session Cookie (app users)

Handled automatically when you log in via the browser. No extra steps needed for web app use.

API Key (server-to-server)

For programmatic access, include your API key as a Bearer token in the Authorization header:

Authorization: Bearer idlt_live_xxxxxxxxxxxxxxxx

Generate API keys from Settings → API Keys. Pro plan includes 1 key; Business includes unlimited.

Endpoint Reference

Base URL: https://api.invoicedlt.com

Invoices

MethodEndpointDescription
GET/api/invoicesList all invoices (filterable by status)
POST/api/invoicesCreate a new invoice
GET/api/invoices/:idGet invoice details
PATCH/api/invoices/:idUpdate invoice fields
DELETE/api/invoices/:idDelete a draft invoice
POST/api/invoices/:id/sendSend invoice to client by email
POST/api/invoices/:id/remindSend payment reminder
GET/api/invoices/:id/pdfPrintable invoice page (HTML)

Clients

MethodEndpointDescription
GET/api/clientsList all clients
POST/api/clientsCreate a client
GET/api/clients/:idGet client details
PATCH/api/clients/:idUpdate client
DELETE/api/clients/:idDelete client (must have no open invoices)

Billing & Account

MethodEndpointDescription
POST/api/billing/subscribeCreate Stripe subscription checkout session
GET/api/billing/portalOpen Stripe billing portal
GET/api/connect/onboardStart Stripe Connect onboarding
POST/api/keysCreate API key
GET/api/keysList API keys
POST/api/webhooksCreate webhook endpoint

Rate Limits

PlanRequests/minute
Solo (Free)30
Pro120
BusinessUnlimited

Code Examples

Create an invoice (curl)

curl -X POST https://api.invoicedlt.com/api/invoices \
  -H "Authorization: Bearer idlt_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "clientId": 42,
    "dueDate": "2026-03-31",
    "lineItems": [
      { "description": "Web design", "quantity": 1, "unitPrice": 1500.00 }
    ],
    "notes": "Thank you for your business!"
  }'

List invoices (JavaScript)

const res = await fetch('https://api.invoicedlt.com/api/invoices?status=overdue', {
  headers: { Authorization: 'Bearer idlt_live_xxx' }
});
const { invoices } = await res.json();

Create a client (Python)

import requests

r = requests.post(
    'https://api.invoicedlt.com/api/clients',
    headers={'Authorization': 'Bearer idlt_live_xxx'},
    json={'name': 'Acme Corp', 'email': 'billing@acme.com'}
)
client = r.json()

Webhooks

InvoiceDLT can POST real-time event notifications to your server when things happen in your account.

Webhook Events

EventFired when
invoice.createdNew invoice is created
invoice.sentInvoice is emailed to client
invoice.viewedClient opens the invoice link
invoice.paidPayment is confirmed (card or XRP)
invoice.overdueInvoice passes its due date unpaid
client.createdNew client is added

Verifying Webhook Signatures

Every webhook request includes an X-InvoiceDLT-Signature header. Verify it using HMAC-SHA256 of the raw request body with your webhook secret to confirm the request is genuine.

const crypto = require('crypto');
const sig = req.headers['x-invoicedlt-signature'];
const expected = crypto
  .createHmac('sha256', process.env.WEBHOOK_SECRET)
  .update(req.rawBody)
  .digest('hex');
if (sig !== expected) return res.status(401).send('Invalid signature');

XRPL Integration

Payment Verification Endpoint

Use this to verify an XRPL transaction against an invoice programmatically:

POST /pay/:invoiceId/verify-payment
Body: { "txHash": "abc123..." }
Response: { "verified": true, "amount": "127.50", "currency": "XRP" }

Public Invoice Payment Page

Each invoice has a public pay page at /pay/:invoiceId — no authentication required. This is the URL sent to your clients. It shows the invoice details, QR code for XRPL Payment, and Stripe card checkout.