CrankPal Documentation
Open the app

Daily use

Invoices and receipts

Issue invoices and commercial receipts, transmit them to the tax authority, record payments and keep track of who hasn't paid yet.

This is where the documents you hand the customer live: invoices, credit notes and receipts. Open it from Invoices and receipts in the menu; it needs the view_invoices permission plus an administrator or manager role. Issuing a receipt, on the other hand, belongs to the checkout: manage_pos is enough, and the mechanic has it.

Documents are not created from this page. They start where the work starts: from a closed work order or a counter sale. Here you read them, collect on them, transmit them and archive them.

The three tabs#

Invoices lists invoices and credit notes with number, date, customer, origin, status and how much you have collected. The filter at the top splits All, Unpaid, Deposit and Paid. When a document comes from an order or a sale, the Origin column is a link: click it and you're back at the job that produced it.

Receipts is the register of commercial documents you have issued, each with its transmission status.

Aging collects everything not yet collected, split by age: 0–30, 31–60, 61–90 and over 90 days. Age is counted from the document's issue date.

At the top of the page, if your plan does not include e-invoicing, a notice explains that the documents you issue are courtesy documents: handy to give the customer, but with no fiscal validity. If your plan does include it but transmission isn't configured yet, the notice sends you to Checkout and payments to finish the job.

Issuing an invoice from a work order#

E-invoicing requires Pro.

  1. Close the order

    From the work order, use Close and invoice. The order needs at least one line with an amount on it.

  2. Clear any pending extras

    If you added parts or jobs the customer hasn't approved yet, the invoice won't go through: send the request first and wait for the decision. See Parts approvals.

  3. Check the document

    CrankPal assigns the year's next number, works out the net amount and VAT, and carries over every payment already recorded on the order, deposits and online payments included. If the customer had already settled up, the invoice is created Paid.

Before you transmit: the customer's details#

An e-invoice with incomplete customer details gets rejected. To spare you that, CrankPal checks the customer record before generating the file and tells you exactly which fields are missing.

The fields checked are the bill-to party (first and last name, or company name), the address, the postal code, the town, the province and at least one of tax code and VAT number. An Italian VAT number is also checked for formal correctness.

When something is missing you'll see one of two messages, and they mean different things:

  • "Billing details incomplete" with the list of fields is a warning, not a block: you can issue anyway, but the e-invoice will be rejected. The Complete customer record button takes you to the customer's record.
  • "Cannot issue: fiscal details incomplete" is a refusal: the file is not generated until you fill the data in.

The recipient code and PEC address are not required: if they're missing, CrankPal uses the generic code.

Transmitting and correcting#

From the invoice detail, Transmit to SdI sends the document through the fiscal provider you configured, after asking you to confirm. The status that follows shows in the same header: sent, delivered, rejected or error.

If the document comes back rejected or in error, the button becomes Retry SdI: fix the details and transmit again. If it comes back delivered, a green label replaces the button and there is nothing left to send.

The detail view is also where you download the document: Print / PDF produces the sheet you hand the customer, SDI XML downloads the electronic file. The XML download goes through the same customer check: if fields are missing you get the list instead of a file destined to be rejected.

Receipts and commercial documents#

E-receipts require Pro. You issue one from a counter sale or by closing a completed work order.

Every document in the register has a status: Pending, Transmitted, Error or Voided. The document is created even when transmission fails — it lands in the register as Error and you send it again with Retry once you've sorted the cause.

On a Transmitted document you have two routes:

  • Void sends the cancellation to the provider and unlocks editing on the linked order. If the provider refuses the cancellation, the document stays transmitted.
  • → Invoice turns it into a deferred invoice referencing the commercial document. The conversion asks for the bill-to details (at least first and last name or company name, plus tax code or VAT number) and offers to update the customer record with your corrections. The invoice is created already paid, because the money is already in.

Payments, aging and export#

On an invoice that isn't settled, Record payment opens a window with the amount — prefilled with the outstanding balance — and the method: cash, card, bank transfer or payment link. Record less than the balance and it is saved as a deposit, moving the invoice to Deposit; reach the total and it becomes Paid. You cannot record more than the balance. Every payment stays listed under the document.

The payment link — requires Pro — is generated from the work order or the counter sale, not from the invoice: you get an address that you send the customer yourself. When they pay, the payment is recorded on its own and, if the invoice already exists, attached to it. The link stays valid until you cancel it.

From Aging you see the balance by age band and open individual documents. The Accountant CSV button at the top of the page exports this year's invoices and credit notes — number, date, type, customer, net amount, VAT, total, collected and status — as a semicolon-separated file, ready for your accountant.

For the margin over a period (revenue minus parts minus labour) the right page is a different one: see Reminders and reports.

Common problems#

The mechanic can no longer find the Invoices and receipts entry.

That is the correct behaviour as of July 2026. Invoices and aging have always been reserved to the administrator and manager roles, but the entry showed up in the mechanic's menu anyway and the tabs stayed empty. The view_invoices permission is no longer among the mechanic's starting set, so the entry doesn't appear. Receipts are still issued and read back from the checkout and the work order, with the manage_pos permission, which the mechanic has by default. See Users and roles.

I changed plan — do I lose the invoices I already issued?

No. Invoices and receipts already issued stay readable and downloadable from this page even after a plan change. Only what you can issue from now on changes.

I pressed Transmit and nothing visible happened.

Check the SdI status in the invoice header. If it says error, the provider's message gives the reason and the button becomes Retry SdI. If you haven't configured transmission yet, the notice at the top of the page takes you to Checkout and payments.

The customer paid online but the payment isn't showing.

A payment is recorded when the card network confirms it, not when the customer closes the page. If it went through you'll find it among the payments on the invoice or on the originating order.