Back to Help Center

Understand approvals, invoices, payments, and final-file release

A client decision, an invoice, a payment, a refund, and access to final files are separate records. Lenso can keep them with the same job without treating them as the same event.

For: For studios and invited clients.

Client invoicing is optional. The studio controls the service agreement and refund decision. Stripe processes enabled online payments. Use the client agreement and current invoice terms for the binding scope, price, payment, approval, and refund rules.

Keep four states separate

Client review decision

A comment, requested change, or approval attached to a named proof, version, or set.

Invoice and payment state

Whether an invoice is draft, open, paid, void, or uncollectible and whether the current payment has been reconciled.

Refund state

Whether a full or partial refund is submitted, needs action, completed, failed, or canceled.

Final-file release and download state

Whether final files remain unreleased, await approval or payment, need studio release, are partially released, or are available for download.

One state does not automatically determine the others.

Who controls each action

Client

  • Reviews the client-facing brief or proof
  • Leaves comments
  • Requests changes
  • Approves the named version
  • Selects photos in a per-photo job
  • Pays an open invoice
  • Downloads released files
  • Contacts the studio about service, amount, or refund decisions

Studio Owner or Admin

  • Creates and sends studio-client invoices
  • Records supported offline payment
  • Issues supported full or partial refunds
  • Voids an eligible unpaid invoice
  • Configures job review and release settings under the current role policy
  • Releases final files
  • Resends or revokes client access

Workspace Owner only

Manages the Lenso subscription, plan, billing portal, and current platform add-ons.

Stripe

  • Hosts enabled online invoice payment
  • Processes the payment method
  • Reports invoice and refund state
  • Controls formal card-payment dispute processes with the connected account

Lenso

Connects the job, client decision, invoice state, payment context, refund state, and final-file release in the product.

Lenso does not decide whether the studio's photography service was satisfactory.

Project billing

Project billing treats the invoice as payment for the job or a named part of it rather than for individually selected photos.

  1. Studio creates a draft invoice
  2. Studio reviews the amount, client, line items, tax, terms, and due date
  3. Studio finalizes and sends the invoice
  4. Client opens the Stripe-hosted invoice page
  5. Client pays
  6. Stripe reports the payment
  7. Lenso reconciles the local invoice state
  8. The current release policy determines when final files become available

The studio can invoice before, during, or after creative review according to the client agreement.

Approval does not automatically mean paid.

Payment does not automatically mean approved.

Approval and payment do not automatically release the files when the current policy is manual.

Per-photo billing

A per-photo job lets the client select individual photos and create a selection invoice for the eligible choices.

  1. Client reviews eligible photos
  2. Client selects photos
  3. Client continues to payment
  4. Lenso creates or reuses the current selection invoice
  5. Client pays through the available invoice page
  6. Stripe reports payment
  7. Purchased originals become available under the current entitlement rules

The selection checkout does not use the same project-level approval step as project billing.

An unpaid selection invoice can be canceled only within the current cancellation window and after the latest Stripe state confirms that payment did not complete.

After payment, the studio decides whether a correction or refund is appropriate under the studio-client agreement.

When Stripe is unavailable and the product creates a local draft, do not present that draft as payable. Show a stable message and let the client contact the studio.

Understand the invoice state

Draft

The studio is still preparing the invoice. A normal draft is not client visible and is not payable.

Open

The invoice is finalized and currently payable or otherwise awaiting settlement.

Paid

Payment was recorded for the invoice.

Void

The invoice was canceled before payment. It is not payable.

Uncollectible

The finalized invoice was marked as not collectible. It is not a paid state and must not unlock a payment-gated release.

Overdue

Overdue is a derived timing label for an open invoice whose due date has passed. It is not a separate Stripe invoice status.

The client area should show sent or finalized client-visible invoices, not unsent studio drafts.

What a client invoice can show

Safe visible fields

  • Studio name
  • Job title or order number
  • Invoice status
  • Payment status
  • Issue or created date
  • Due date
  • Payment terms
  • Line-item name and client-visible description
  • Quantity
  • Unit amount
  • Line amount
  • Subtotal
  • Tax
  • Total
  • Currency
  • Paid date
  • Safe invoice-open action
  • Refund state
  • Client-visible refund amount and date

Never expose through the client portal DTO

  • Internal invoice notes
  • Billing or shipping snapshot fields not needed by the page
  • Tax ID values not needed by the page
  • Raw Stripe object IDs
  • Connected-account IDs
  • Raw hosted invoice URL
  • Internal reminder counts
  • Internal reminder timestamps
  • Internal refund reason
  • Internal failure detail
  • Created-by user IDs
  • Internal service or tax-group IDs

The portal invoice serializer must be intentionally smaller than the studio invoice serializer.

Pay an open invoice

  1. Open the invoice from the current job
  2. Confirm the studio, job, line items, currency, total, and due date
  3. Select Pay invoice
  4. Continue to the validated Stripe-hosted page
  5. Use one of the payment methods currently enabled by the studio's connected account
  6. Return to Lenso
  7. Refresh payment status once when the local state has not updated

Stripe handles the payment-method entry. Lenso should not claim to store raw card numbers.

Status-aware actions

  • Open: Pay invoice
  • Paid: View paid invoice or receipt when available
  • Void: No pay action
  • Uncollectible: No pay action
  • Draft: Not client visible

The client action should use the first-party Lenso invoice-open route, which validates the project link, invoice relationship, and Stripe destination before redirecting.

Available payment methods and any scheduled-payment capability depend on the current Stripe and studio configuration.

Approval and payment can control release in different ways

Manual

The studio releases final files itself.

On approval

A final set can release automatically after the current approval condition is satisfied.

On payment

A final set can release automatically after an eligible invoice is actually paid.

On approval and payment

Both conditions must be satisfied before automatic release.

A separate setting can keep released originals blocked while the current payment condition remains unresolved.

When the studio handles payment outside Lenso, Lenso does not know whether payment occurred. The studio controls release or records supported offline payment according to the current job policy.

An uncollectible invoice is not a paid invoice and must not satisfy an automatic payment release.

A refund does not automatically erase a client approval or revoke files already released. The product needs an explicit policy for any future access change.

Understand a refund separately from payment

A paid invoice can remain historically Paid while a full or partial refund has its own lifecycle.

No refund

No refund operation is recorded.

Refund submitted

Stripe accepted the request and is still processing it.

Refund needs action

Another step is required before the refund can continue.

Refund completed

Stripe reports the refund as succeeded. The bank decides when it appears on the original payment method.

Refund failed

The refund did not complete. The studio reviews the Stripe state and decides the next step.

Refund canceled

The refund operation was canceled before completion.

A succeeded refund can be partial or full. Show the amount returned and the remaining paid amount.

The studio decides whether a client-service refund is due. Lenso and Stripe process supported product and money-state actions but do not decide service quality.

Payment disputes are different from refund requests

A payment dispute is opened through a cardholder, bank, or payment network. Stripe controls the formal process and deadline for the connected account.

Studio responsibilities

  • Review the dispute in the connected Stripe account
  • Meet the current response deadline
  • Use the studio's client agreement and records
  • Decide whether and how to respond
  • Keep internal evidence private

Lenso can preserve related job, invoice, message, upload, and approval activity. It does not submit dispute evidence, represent the studio, guarantee chargeback protection, or decide the result.

A client-service dispute does not automatically pause the studio's Lenso subscription. Account restrictions follow the Terms and an actual Lenso account issue.

Manual tax setup

Lenso does not calculate the correct tax for the studio.

  • The studio can create manual tax rates and tax groups
  • The workspace or client can provide a current default
  • A service or line item can have its own current rule
  • A line can be marked non-taxable
  • An invoice can use an explicit no-tax choice
  • Configured Stripe TaxRate IDs are attached under the current connected-account flow

Not included

  • Automatic destination-based tax calculation
  • Nexus monitoring
  • Registration advice
  • Tax filing
  • Remittance
  • VAT, GST, PST, sales-tax, or other legal determination
  • Accounting advice

Verify the current rate and obligation with an accountant or official revenue authority before sending the invoice.

Who answers which question

Contact the studio about

  • Line items
  • Price
  • Scope
  • Approval
  • Requested changes
  • Release timing
  • Whether a service refund is due
  • Which files are final
  • The client agreement

Contact Lenso about

  • A broken project link
  • A product error
  • An invoice link that fails before reaching Stripe
  • A payment status that does not reconcile
  • A final-file download that fails despite the correct release state
  • A suspected security problem

Do not send

  • Full card number
  • Security code
  • Raw magic link in a public message
  • Private Stripe credentials
  • Unredacted client data not needed for support

Troubleshooting approvals and invoices

The amount or line item is wrong.

Do not pay. Contact the studio, which owns the service description and amount.

There is no invoice in the client area.

The studio may not use Lenso invoicing, may not have sent the invoice, or may bill outside Lenso. Contact the studio.

A draft invoice appears.

Treat this as a product defect unless the latest per-photo recovery design explicitly permits a safe client-visible draft. Normal drafts should remain private to the studio.

The Pay invoice button appears on a paid or void invoice.

Treat this as a status-action defect. The action must be selected from the current invoice state.

The Stripe page will not open.

Reload the current job and use the first-party invoice action. Contact Lenso when the validated redirect fails. Do not paste card details into support.

I paid but the invoice remains open.

Use Refresh payment status once. If the state remains open, contact the studio with the invoice number and payment date.

The final files remain blocked after payment.

Read the current delivery state. The job can still require approval or manual studio release. Contact the studio when all visible conditions appear satisfied.

An uncollectible invoice unlocked files.

Treat this as a release-policy defect. Uncollectible is not paid.

A refund says completed but the bank does not show it.

Confirm that Stripe reports the refund as succeeded. The receiving bank controls when the credit appears.

A refund says pending, failed, needs action, or canceled.

Contact the studio. Do not call the refund completed until Stripe reports succeeded.

A per-photo invoice cannot be canceled.

The cancellation window may have ended or payment may have completed. Contact the studio for the next step.

A client approval and payment disagree.

Review the named proof, invoice, release policy, and client agreement separately. Do not change one state merely to make the others appear consistent.

Related help

Need more help?