create-invoice — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited create-invoice (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Help the user create and send an invoice step by step:
$ARGUMENTS, call list_clients and find the matching client. If ambiguous, ask the user to clarify. If no client exists, offer to create one with create_client.create_invoice with all gathered details. Use the correct client_id from step 1.send_invoice to email it to the client. Omit subject and body to use the company's email template; pass additional_emails for CC recipients.Important:
create_recurring_invoice insteadInvoice appearance and edits:
get_invoice_settings for the company logo and saved defaults. Pass the saved language/currency when the user does not choose others.list_invoice_templates. Show the available choices and plan access. Do not invent template IDs or bypass paid access.document_design: template, version, logo size (25–100), text size, spacing and table borders. Use font and color_schema for the font and colour. Omit these three options to preserve company branding. A partial design takes the chosen template's defaults.update_invoice for invoice/quote edits and update_recurring_invoice for schedule edits. Send only changed fields in changes. Keep existing line IDs when editing items. A partial document design keeps the document's other saved controls; changing its template starts from that template's defaults. Explicit false, zero, blank strings and valid nulls are different from omitted fields.update_invoice_settings only when the user wants to change future document defaults. Existing documents keep their saved design. Show-customer-number, show-contact-person, QR codes and online payment defaults are included.interval, interval_count, starts_on (the first invoice date), payment_due_days and billing_in_advance; Norman sets the dates of each invoice from them.auto_reminders / autoReminders true on create_invoice, create_recurring_invoice or update_invoice makes Norman remind the client by the company's rule (paid plans). settings_on_overdue is an older field and sends nothing.list_invoice_emails shows every email to the client with its delivery status. Email wording lives in list_invoice_email_templates / save_invoice_email_template; the reminder rule in get_invoice_email_settings / update_invoice_email_settings.is_to_send / isToSend only when sending is requested or already authorized. Otherwise save the document without sending it. The same applies to mode "send" on a recurring invoice; the default "draft" sends nothing.Corrections and delivery notes (documents made from an existing document):
cancel_invoice with the invoice id. Norman writes the Stornorechnung with the same lines, the next invoice number and a reference to the invoice, and marks the invoice cancelled. Confirm with the user first: a cancellation is a numbered document the client receives, not an edit. A draft, an issued or an overdue invoice is edited with update_invoice. A paid invoice cannot be edited: correct it with cancel_invoice or create_credit_note.create_credit_note with the invoice id and the lines to credit. Without lines the whole invoice is credited. Norman prints "Rechnungskorrektur", never "Gutschrift", because since 2013 that word means self-billing under § 14 UStG. Use status: "draft" when the user wants to review it first.create_invoice with document_type "cancel" or "credit_note" and pass preceding_invoice_number and preceding_invoice_date. The PDF prints "Storno zu Rechnung … vom …" and the e-invoice carries the reference. A correction prints no due date.create_delivery_note with the invoice id, or the id of a quote the client approved. It prints quantities and units only, no prices, and lands in the company's Files space under "Delivery notes". Pass lines for a partial delivery.convert_offer_to_invoice makes a draft invoice from a quote. The quote stays, with the status "invoiced", and the invoice links to it. Issue the invoice with update_invoice (status "saved") before sending it.duplicate_invoice with the invoice or quote id: it makes a draft dated today with the same lines, payment term and bank details. Move the service or delivery dates with update_invoice, then set status "saved" to issue it. A draft is never emailed or matched to a payment.message.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.