mirror of
http://100.103.83.12:3003/fegger/odoo-at-payroll.git
synced 2026-09-17 16:56:42 +00:00
a848c07e96
PV-agent bridge (D25/M4.1): Odoo stays the system of record; the standalone, KB-bound knowledge service (pv-agent) reviews plausibility and returns evidence-backed answers (mode=review, agent API v1). No back path: the agent never calls Odoo and receives no personal data — only the minimized, schema-bound review context. - context builder: projects a computed draft payslip with an ATP_PRAMIE input (planned one-off payout) onto the review context (facts + computation): gross wage (hr.version.wage), applying collective agreement (version.kv_id) and the draft's DG/LST lines (SVDG_*/LST_*/FLAFDB/KOMMST/DZ/BVG/WIEN_DAG) - client (stdlib urllib, no extra dependency): POST /v1/ask with X-Request-ID, bearer key from company settings (pv_agent_url / pv_agent_api_key, group_hr_payroll_user); neutral UserErrors, technical details only in the server log - review wizard on the draft payslip: agent answer (evidence-backed), structured verdict (plausible / implausible / not checkable) and checks in the dialog - security: wizard bound to hr_payroll.group_hr_payroll_user; agent service key stored on res.company, never logged; 5 tests
43 lines
1.9 KiB
Python
43 lines
1.9 KiB
Python
# Part of the odoo-at-payroll project. License: LGPL-3.
|
|
{
|
|
'name': 'Österreich - PV-Agent Prüfung (AT Payroll Agent)',
|
|
'version': '19.0.1.0.0',
|
|
'author': 'Florian Egger',
|
|
'website': 'https://gem360.at',
|
|
'category': 'Human Resources/Payroll',
|
|
'description': """
|
|
PV-Agent-Brücke (D25/M4.1)
|
|
==========================
|
|
Odoo orchestriert und rechnet (System of Record); der eigenständige,
|
|
KB-gebundene Wissensdienst (pv-agent) prüft Plausibilität und liefert
|
|
belegte Antworten. Kein Rückpfad: Der Agent ruft niemals Odoo auf und
|
|
erhält keine Personendaten — nur das minimierte, schema-gebundene
|
|
Kontextformat der Agent-API v1 (mode=review).
|
|
|
|
- **Pilot-Workflow „Geplante Auszahlung prüfen“:** Wizard am gerechneten
|
|
Draft-Lohnzettel mit ATP_PRAMIE-Eingabe. Der Kontext-Builder projiziert
|
|
Bruttolohn (hr.version.wage), anwendenden KV (version.kv_id) und die
|
|
DG-/LST-Zeilen des Drafts (SVDG_*/LST_*/FLAFDB/KOMMST/DZ/BVG/WIEN_DAG)
|
|
auf das Review-Kontextformat (facts + computation).
|
|
- **Client (stdlib urllib, kein Zusatz-Dependency):** POST /v1/ask mit
|
|
X-Request-ID, Bearer-Key aus den Unternehmensstammdaten
|
|
(res.company.pv_agent_url / pv_agent_api_key, group_hr_payroll_user);
|
|
neutrale UserError-Meldungen, technische Details nur im Server-Log.
|
|
- **Antwortdarstellung:** Agent-Antwort (belegt), strukturiertes
|
|
Verdict (plausible / implausible / nicht prüfbar) und Prüfpunkte im
|
|
Dialog. Odoo bleibt autoritativ für Zahlen; der Agent korrigiert nichts
|
|
stillschweigend (D25).
|
|
- Privacy: Der Agentendienst läuft lokal (Tailscale-Host); die
|
|
Datenschutzerarbeitung bleibt in Odoo. Der Wizard ist an
|
|
hr_payroll.group_hr_payroll_user gebunden.
|
|
""",
|
|
'depends': ['l10n_at_hr_payroll_private'],
|
|
'data': [
|
|
'security/ir.model.access.csv',
|
|
'views/pv_agent_review_views.xml',
|
|
],
|
|
'countries': ['at'],
|
|
'license': 'LGPL-3',
|
|
'installable': True,
|
|
'auto_install': False,
|
|
} |