💶
Angebote, Rechnungen & Debitoren (Finance)
finance
sales_billing
🛡️ RLS Protected
End-to-end-försäljning: beräkning, erbjudanden, omvandling av projekt, räkenskapsförvaltning och minnesuppgifter.
Fachliche Bestimmung: Det är en central del av försäljning och fakturering. Angevis upptas, beräknas och skickas. När det tas emot kaskaderas systemet automatiskt till projekt och verkstädesuppdrag samt inköp (sträcka eller BTO).
⚡ Arbetsflöden och livscykler (8)
🗄️ Datamodeller & fält (2)
🔌 Inledande punkter (UI & API) (52)
🛡️ Reglering och efterlevnad
⚡ Arbetsflöden och livscykler
Citat till kassa
quote_to_cash_cascade
Från offert till slutföring, automatisk orderkonvertering, delleverans till slutföring.
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
Upptäck positioner, rabatt, betalningsmål och leveransadresser.
Aktionen: Prisberäkning
2. SENT
Sänd
Generera och skicka PDF till kunder via e-post eller portal.
Aktionen: Kontroll av giltighetstid
3. ACCEPTED
Antagna
kund accepterar offert (online eller i ERP).
Aktionen: Rör till projekt
4. CONVERTED
Förpackningar
Automatisk generering av arbetsordrar, beställning av färd eller reservation av material.
Aktionen: Om inte annat än en av följande:
5. INVOICED
Fakturerade
Utställning av skatte- och skattesituationer utgående faktura (PDF/A-3, ZUGFeRD).
Aktionen: Skapa bokföringsstapel för DATEV
Användarföreskrifter: faktureringsagent
plan:command_billing_agent
Tjänststyrd 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
Användarföreskrifter: generalagent
plan:command_billing_general_agent
Tjänststyrd 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
Användarföreskrifter:
plan:command_dunning_agent
Tjänststyrd 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
Sänd
plan:invoice_lifecycle
Tjänststyrd varaktighetsplan (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
Överskott
status:extra_work
Observable_only_observable_state machine.
1. detected
Upptäckts
Status <unk>detected<unk> av maskinens status
2. accepted
Antagna
Statut <unk>Accepted <unk> av den statusskickare
3. rejected
Avvisad
Status <unk>förkastad <unk>förlängning av arbetstid.
4. quoted
Citat
Status <unk>quoted <unk> av den statliga maskinen
5. invoiced
Invokat
Status <unk>invokat <unk> av den statliga maskinen
Förberedande för
status:invoice
Observable_only_observable_state machine.
1. draft
Förberedande
Status <unk>utkast <unk> av den tillståndsmaskin faktura.
2. proforma
Förberedande
Status <unk>proforma<unk> av den stående maskinen faktura.
3. issued
utgått
Status <unk>utgiven <unk> av den tillståndsmaskin faktura.
4. sent
Sänd
Status <unk>sent<unk> av den tillståndsmaskinen faktura.
5. partially_paid
partially_paid
Status <unk>partiellt_betald<unk> av den tillståndsmaskin faktura.
6. paid
Betalade
Status <unk>betald <unk> av den tillståndsmaskinen faktura.
7. overdue
Fördröjsmål
Status <unk>förlängning <unk> av den stående maskinen GT11_0__.
8. cancelled
Avbokade
Status <unk>annuleras<unk> av den stående maskinen faktura.
Överföring av peppol
status:peppol_transmission
Observable_only_observable_state machine.
1. draft
Förberedande
Status <unk>utkast <unk> av den statliga maskinen Peppol-överföring.
2. queued
Värd
Status <unk>queued <unk> av den statliga maskinen Peppol överföring.
3. transmitting
Förmedling
Status <unk>överföring <unk> av den tillståndsmaskinen Peppol-överföring.
4. delivered
Förbrukade
Status <unk>levered<unk> av den statliga maskinen Peppol överföring.
5. rejected
Avvisad
Status <unk>förkastad <unk>förförföring av Peppol-maskin
6. failed
-
Status <unk> misslyckades <unk> av den tillståndsmaskinen Peppol överföring.
🗄️ Datamodeller & fält
🔌 Inledande punkter (UI & API)
| Art | Förberedelse | Slutpunkt / väg | Titel & Zweck | Förmåga |
|---|---|---|---|---|
| ⚡ REST API | DELETE | /api/v1/invoices/{invoice_id} |
delete_invoice
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | DELETE | /api/v1/invoices/{invoice_id}/items/{item_id:uuid} |
delete_invoice_item
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | DELETE | /api/v1/pricelists/{pricelist_id}/items/{item_id} |
delete_item
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | GET | /api/v1/invoices |
list_invoices
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/invoices/{invoice_id} |
get_invoice
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/invoices/{invoice_id}/credit-remaining |
get_credit_remaining
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/invoices/{invoice_id}/delivery-note.pdf |
get_invoice_delivery_note
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/invoices/{invoice_id}/html |
get_invoice_html
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/invoices/{invoice_id}/payments |
list_invoice_payments
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/invoices/{invoice_id}/pdf |
get_invoice_pdf
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/invoices/{invoice_id}/zugferd-xml |
get_zugferd_xml
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/peppol/invoices/{invoice_id}/ubl |
get_invoice_peppol_ubl
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/peppol/lookup |
lookup_peppol_recipient
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/peppol/schemes |
list_peppol_schemes
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/peppol/transmissions |
list_peppol_transmissions
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/peppol/transmissions/{transmission_id} |
get_peppol_transmission
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/pricelists |
list_pricelists
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/pricelists/{pricelist_id}/items |
list_items
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | GET | /api/v1/pricelists/{pricelist_id}/resolve |
resolve_price
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | GET | /invoices |
invoices_page
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | GET | /invoices/new |
invoice_create_page
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | GET | /invoices/{invoice_id} |
invoice_detail_page
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | GET | /portal/{slug}/rechnungen |
invoices_page
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | GET | /portal/{slug}/rechnungen/{invoice_id}/pdf |
invoice_pdf_download
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | GET | /pricelists |
pricelists_page
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | GET | /pricelists/new |
pricelists_new_page
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | GET | /pricelists/{pricelist_id}/edit |
pricelists_edit_page
Semantic binding: not_evaluated; mutation=False
|
invoices
|
| ⚡ REST API | PATCH | /api/v1/invoices/{invoice_id} |
update_invoice
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | PATCH | /api/v1/invoices/{invoice_id}/items/reorder |
reorder_invoice_items
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | PATCH | /api/v1/invoices/{invoice_id}/items/{item_id:uuid} |
update_invoice_item
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | PATCH | /api/v1/pricelists/{pricelist_id} |
update_pricelist
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices |
create_invoice
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/collective-credit-note |
create_collective_credit_note
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/final-from-partials |
create_final_invoice_from_partials
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/from-work-order/{work_order_id} |
create_invoice_from_work_order
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/{invoice_id}/convert-final |
convert_to_final_invoice
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/{invoice_id}/convert-proforma |
convert_to_proforma
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/{invoice_id}/credit-note |
create_credit_note
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/{invoice_id}/dunning |
escalate_invoice_dunning
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/{invoice_id}/escalate-ticket |
escalate_invoice_to_ticket
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/{invoice_id}/issue |
issue_invoice
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/{invoice_id}/items |
add_invoice_item
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/{invoice_id}/partial-credit-note |
create_partial_credit_note
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/{invoice_id}/payments |
register_invoice_payment
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/{invoice_id}/send |
send_invoice
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/invoices/{invoice_id}/stock-issue |
create_invoice_stock_issue
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/peppol/invoices/{invoice_id}/transmit |
transmit_invoice_via_peppol
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/pricelists |
create_pricelist
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | POST | /api/v1/pricelists/{pricelist_id}/items |
add_item
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| ⚡ REST API | POST | /portal/{slug}/rechnungen/{invoice_id}/gutschrift-anfordern |
credit_note_request
Semantic binding: not_evaluated; mutation=True
|
invoices
|
| 🖥️ WEB-UI | GET | /quotes |
Överblick över erbjudanden
Listan över alla erbjudanden med statusfilter och sträckmärke
|
quotes:read
|
| ⚡ REST API | POST | /api/v1/quotes/{id}/convert-to-workorder |
Förvaltning av uppdrag
Kaskaderat antagen offert i projekt & WorkOrder
|
quotes:write
|
🛡️ Reglering och efterlevnad
Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:
- För att kunna ändra den information som avses i artikel 10.2 i förordning (EU) nr 1303/2013
- UStG §14 (obligatoriska uppgifter om fakturor)
- ZUGFeRD 2.2 / XRechnung (PEPPOL)
Kopplade moduler: