💶
Tilbud, fakturer og skyldnere (finansiering)
finance
sales_billing
🛡️ RLS Protected
End-to-end-forhandlingsstrøm: beregning, tilbudsanntak, omdannelse av prosjekter, faktureringsstatus og påminnelser.
Fachliche Bestimmung: Det er en viktig del av salg og fakturering. Tilbud blir tatt opp, beregnet og sendt. Når det blir tatt, kaskaderer systemet automatisk til prosjekt og verkstatsauftrag samt anskaffelse (strek eller BTO).
⚡ Arbeidsstrømme og livssykluser (8)
🗄️ Datamodeller & felt (2)
🔌 Startpunkter (UI og API) (52)
🛡️ Reglering og etterlevelse
⚡ Arbeidsstrømme og livssykluser
Citat til kontanter
quote_to_cash_cascade
Fra tilbud til vedtak, automatisk konversjon av oppdrag, dellevering til endelig innregning.
stateDiagram-v2
[*] --> DRAFT: Angebot anlegen
DRAFT --> SENT: Versenden an Kunden
SENT --> ACCEPTED: Kunde bestätigt Angebot
ACCEPTED --> CONVERTED: convert_to_project()
state CONVERTED {
direction LR
WorkOrder: Arbeitsauftrag
Dropship: Streckenbestellung
BTO: Einkaufslager
}
CONVERTED --> INVOICED: Rechnung erstellen (ZUGFeRD/DATEV)
INVOICED --> PAID: Zahlungseingang (SEPA/Bank)
PAID --> [*]
1. DRAFT
Utkast til
Opptegnelse av posisjoner, rabatter, betalingsmål og leveringsadresser.
Aktionen: Priser
2. SENT
Sending
Generering av PDF og sending til kunder via e-post eller portal.
Aktionen: Overvåking av gyldighetsperioden
3. ACCEPTED
Anmodte
kunde aksepterer tilbud (online eller i ERP).
Aktionen: utføre convert_to_project
4. CONVERTED
Kastadert
Automatisk generering av arbeidsordrer, bestilling av varer eller reservering av materialer.
Aktionen: Slå opp
5. INVOICED
Innstilling
Utarbeidelse av skattekonformasjoner utgående faktura (PDF/A-3, ZUGFeRD).
Aktionen: Generere regnskapsdata for DATEV
Brukeroppdrag: faktureringsagent
plan:command_billing_agent
Kontrollert varig plan (durable_plan), Start: manual_command.
1. billing_agent
billing_agent
{"key": "execute_command", "label": "Befehl prüfen, ausführen oder zur Freigabe vorlegen", "adapter": "agent.execute", "agent": "billing_agent", "condition_fact": null}
Aktionen: billing_agent
Brukeroppdrag: general agent
plan:command_billing_general_agent
Kontrollert varig plan (durable_plan), Start: manual_command.
1. billing_general_agent
billing_general_agent
{"key": "execute_command", "label": "Befehl prüfen, ausführen oder zur Freigabe vorlegen", "adapter": "agent.execute", "agent": "billing_general_agent", "condition_fact": null}
Aktionen: billing_general_agent
Brukeroppgave: dunning agent
plan:command_dunning_agent
Kontrollert varig plan (durable_plan), Start: manual_command.
1. dunning_agent
dunning_agent
{"key": "execute_command", "label": "Befehl prüfen, ausführen oder zur Freigabe vorlegen", "adapter": "agent.execute", "agent": "dunning_agent", "condition_fact": null}
Aktionen: dunning_agent
faktura sendt
plan:invoice_lifecycle
Kontrollert varig plan (durable_plan), start: domain_event.
1. payment_matching_agent
payment_matching_agent
{"key": "step_0", "label": "Zahlung zuordnen", "adapter": "agent.execute", "agent": "payment_matching_agent", "condition_fact": "payment_received"}
Aktionen: payment_matching_agent
2. dunning_agent
dunning_agent
{"key": "step_1", "label": "Mahnung vorbereiten", "adapter": "agent.execute", "agent": "dunning_agent", "condition_fact": "is_overdue"}
Aktionen: dunning_agent
Ytterligere arbeid
status:extra_work
Observativ tilstand (observativ_only).
1. detected
Detekter
Status <unk>detected<unk> av maskinen i stand merarbeid.
2. accepted
akseptert
Status <unk>akceptet <unk> for standmaskin merarbeid.
3. rejected
Avviset
Status <unk>avvist <unk> av standmaskinen merarbeid.
4. quoted
Citat
Status <unk>quoted <unk> av tilstandsmaskinen merarbeid.
5. invoiced
fakturert
Status <unk>invoisert <unk> av maskinen status merarbeid.
-
status:invoice
Observativ tilstand (observativ_only).
1. draft
utkast
Status <unk>utkast <unk> av maskinen i stand faktura.
2. proforma
utøvelse
Status <unk>proforma<unk> av maskinen i stand faktura.
3. issued
utstedt
Status <unk>utstedt<unk> av maskinen i stand faktura.
4. sent
Sent
Status <unk>sent<unk> av maskinen i stand faktura.
5. partially_paid
partially_paid
Status <unk>partielt_betalt<unk> av maskinen i stand faktura.
6. paid
utbetalt
Status <unk>paid<unk> av maskinen i stand faktura.
7. overdue
forsinket
Status <unk> overtid <unk> av maskinen i stand faktura.
8. cancelled
avlyst
Status <unk>kansellert<unk> av maskinen i stand faktura.
Overføring av peppol
status:peppol_transmission
Observativ tilstand (observativ_only).
1. draft
utkast
Status <unk>utkast <unk> til standmaskin Peppol overføring.
2. queued
kåre
Status <unk>queued<unk> av tilstandsmaskinen Peppol overføring.
3. transmitting
overføring
Status <unk> overføring <unk> av den statlige maskinen Peppol overføring.
4. delivered
Levert
Status <unk>levered<unk> til standmaskinen Peppol overføring.
5. rejected
Avviset
Status <unk>avvist <unk> avstandsmaskinen Peppol overføring.
6. failed
mislykkes
Status <unk>sakket <unk> av standemaskinen Peppol overføring.
🗄️ Datamodeller & felt
🔌 Startpunkter (UI og API)
| Art | Metode | Endpunkt / vei | Titel & Zweck | Tillatelse |
|---|---|---|---|---|
| ⚡ REST API | DELETE | /api/v1/invoices/{invoice_id} |
delete_invoice
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | DELETE | /api/v1/invoices/{invoice_id}/items/{item_id:uuid} |
delete_invoice_item
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | DELETE | /api/v1/pricelists/{pricelist_id}/items/{item_id} |
delete_item
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | GET | /api/v1/invoices |
list_invoices
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/invoices/{invoice_id} |
get_invoice
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/invoices/{invoice_id}/credit-remaining |
get_credit_remaining
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/invoices/{invoice_id}/delivery-note.pdf |
get_invoice_delivery_note
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/invoices/{invoice_id}/html |
get_invoice_html
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/invoices/{invoice_id}/payments |
list_invoice_payments
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/invoices/{invoice_id}/pdf |
get_invoice_pdf
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/invoices/{invoice_id}/zugferd-xml |
get_zugferd_xml
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/peppol/invoices/{invoice_id}/ubl |
get_invoice_peppol_ubl
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/peppol/lookup |
lookup_peppol_recipient
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/peppol/schemes |
list_peppol_schemes
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/peppol/transmissions |
list_peppol_transmissions
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/peppol/transmissions/{transmission_id} |
get_peppol_transmission
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/pricelists |
list_pricelists
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/pricelists/{pricelist_id}/items |
list_items
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/pricelists/{pricelist_id}/resolve |
resolve_price
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | GET | /invoices |
invoices_page
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | GET | /invoices/new |
invoice_create_page
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | GET | /invoices/{invoice_id} |
invoice_detail_page
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | GET | /portal/{slug}/rechnungen |
invoices_page
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | GET | /portal/{slug}/rechnungen/{invoice_id}/pdf |
invoice_pdf_download
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | GET | /pricelists |
pricelists_page
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | GET | /pricelists/new |
pricelists_new_page
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | GET | /pricelists/{pricelist_id}/edit |
pricelists_edit_page
Semantic binding: inventory_only; mutation=False
|
invoices
|
| ⚡ REST API | PATCH | /api/v1/invoices/{invoice_id} |
update_invoice
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | PATCH | /api/v1/invoices/{invoice_id}/items/reorder |
reorder_invoice_items
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | PATCH | /api/v1/invoices/{invoice_id}/items/{item_id:uuid} |
update_invoice_item
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | PATCH | /api/v1/pricelists/{pricelist_id} |
update_pricelist
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices |
create_invoice
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/collective-credit-note |
create_collective_credit_note
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/final-from-partials |
create_final_invoice_from_partials
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/from-work-order/{work_order_id} |
create_invoice_from_work_order
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/{invoice_id}/convert-final |
convert_to_final_invoice
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/{invoice_id}/convert-proforma |
convert_to_proforma
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/{invoice_id}/credit-note |
create_credit_note
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/{invoice_id}/dunning |
escalate_invoice_dunning
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/{invoice_id}/escalate-ticket |
escalate_invoice_to_ticket
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/{invoice_id}/issue |
issue_invoice
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/{invoice_id}/items |
add_invoice_item
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/{invoice_id}/partial-credit-note |
create_partial_credit_note
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/{invoice_id}/payments |
register_invoice_payment
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/{invoice_id}/send |
send_invoice
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/{invoice_id}/stock-issue |
create_invoice_stock_issue
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/peppol/invoices/{invoice_id}/transmit |
transmit_invoice_via_peppol
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/pricelists |
create_pricelist
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/pricelists/{pricelist_id}/items |
add_item
Semantic binding: operator_surface; mutation=True
|
invoices
|
| ⚡ REST API | POST | /portal/{slug}/rechnungen/{invoice_id}/gutschrift-anfordern |
credit_note_request
Semantic binding: operator_surface; mutation=True
|
invoices
|
| 🖥️ WEB-UI | GET | /quotes |
Oversikt over tilbud
Liste over alle tilbud med statusfilter og strekk- badge
|
quotes:read
|
| ⚡ REST API | POST | /api/v1/quotes/{id}/convert-to-workorder |
Oppdragsføring
Kaskadert ansett tilbud i prosjekt & WorkOrder
|
quotes:write
|
🛡️ Reglering og etterlevelse
Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:
- Forbruker av en eller flere av disse produktene
- UStG §14 (forpliktende opplysninger om fakturer)
- ZUGFeRD 2.2 / XRechnung (PEPPOL)
Kopplede moduler: