TIP: You can type at any time to perform a new search.
Denmark EDI - Nemhandel
l10n_dk_nemhandel · odoo/odoo
- Repository
- odoo/odoo · module folder
- Module version
- 1.0
- Category
- Accounting/Localizations/EDI
- Folder size
- 0.31 MB
- License
- LGPL-3
- Application
- No
- Auto-installable
- Yes
- Website
- None
- Last tracking update
- 2026-08-07 22:12:06
- Authors
- Odoo S.A.
- Maintainers
- Odoo S.A.
- Committers
- Odoo Translation Bot, william-andre, Florian Gilbert, Pierrot (prro), Gauthier Wala (gawa), Dylan Kiss (dyki), Sven Fuehr, Louis Gobert, Claire (clbr), Léo Gizard, dvsh-odoo, Jugurtha, igbe, Mongy (abmn), Laurent Smet (LAS), steji, matd-odoo, smjo-odoo, Adham Abdeltawab
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- l10n_dk_nemhandel_response
- Description
- Send and receive documents via Nemhandel network in OIOUBL 2.1 format
Code Analysis ⓘ
Views touched (8)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_journal_dashboard_kanban_view |
account.journal.dashboard.kanban | account.journal | kanban | Inherits account.account_journal_dashboard_kanban_view |
l10n_dk_nemhandel_view_move_form |
l10n.dk.nemhandel.view.move.form | account.move | form | Inherits account.view_move_form |
nemhandel_registration_form |
nemhandel.registration.form | nemhandel.registration | form | New |
nemhandel_view_account_invoice_filter |
account.invoice.select.inherit | account.move | Inherits account.view_account_invoice_filter | |
nemhandel_view_out_credit_note_tree_inherit |
account.move.credit.note.tree.inherit | account.move | tree | Inherits account.view_out_credit_note_tree |
nemhandel_view_out_invoice_tree_inherit |
account.move.out.invoice.tree.inherit | account.move | tree | Inherits account.view_out_invoice_tree |
res_config_settings_view_form |
res.config.settings.view.form.inherit.proxy.user | res.config.settings | form | Inherits account.res_config_settings_view_form |
res_partner_form_l10n_dk_nemhandel |
res.partner.form.l10n.dk.nemhandel | res.partner | form | Inherits account_edi_ubl_cii.view_partner_property_form |
HTTP endpoints (3)
| Route(s) | Handler | Auth | Type | Methods | Flags |
|---|---|---|---|---|---|
/nemhandel/webhook/message-state-update |
NemhandelWebhookController.webhook_nemhandel_message_update |
public | http | POST | csrf off sudo |
/nemhandel/webhook/new-message |
NemhandelWebhookController.webhook_nemhandel_new_message |
public | http | POST | csrf off sudo |
/nemhandel/webhook/user-state-update |
NemhandelWebhookController.webhook_nemhandel_user_update |
public | http | POST | csrf off sudo |
Models touched (11)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (2)
-
is_nemhandel_journalBooleanstring='Journal used for Nemhandel' -
l10n_dk_nemhandel_proxy_stateSelectionrelated='company_id.l10n_dk_nemhandel_proxy_state'
-
button_fetch_in_einvoices(self) -
button_refresh_out_einvoices_status(self)
New fields (2)
-
nemhandel_message_uuidCharcopy=Falsestring='Nemhandel message ID' -
nemhandel_move_stateSelectioncompute='_compute_nemhandel_move_state'copy=Falseselection=[('ready', 'Ready to send'), ('to_send', 'Queued'), ('processing', 'Pending Reception'), ('done', 'Done'), ('error', 'Error')]store=Truestring='Nemhandel status'
-
action_cancel_nemhandel_documents(self) -
action_send_and_print(self)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (1)-
action_send_and_print(self, force_synchronous=False, allow_fallback_pdf=False)
New fields (0)
No new fields.
Public methods (1)-
action_send_and_print(self, allow_fallback_pdf=False)
New fields (2)
-
nemhandel_verification_codeCharstring='Nemhandel SMS verification code' -
proxy_typeSelectionondelete={'nemhandel': 'cascade'}selection_add=[('nemhandel', 'Nemhandel')]
No public methods.
New fields (9)
-
company_idMany2one → res.companycomodel_name='res.company'default=<expr>required=True -
contact_emailCharreadonly=Falserelated='company_id.nemhandel_contact_email'required=True -
edi_modeSelectioncompute='_compute_edi_mode'inverse='_inverse_edi_mode'readonly=Falseselection=[('demo', 'Demo'), ('test', 'Test'), ('prod', 'Live')]string='EDI mode' -
edi_user_idMany2one → account_edi_proxy_client.usercomodel_name='account_edi_proxy_client.user'compute='_compute_edi_user_id'string='EDI user' -
identifier_typeSelectionreadonly=Falserelated='company_id.nemhandel_identifier_type'required=True -
identifier_valueCharreadonly=Falserelated='company_id.nemhandel_identifier_value'required=True -
l10n_dk_nemhandel_proxy_stateSelectionreadonly=Falserelated='company_id.l10n_dk_nemhandel_proxy_state' -
phone_numberCharinverse='_inverse_phone_number'readonly=Falserelated='company_id.nemhandel_phone_number' -
verification_codeCharreadonly=Falserelated='edi_user_id.nemhandel_verification_code'
-
button_check_nemhandel_verification_code(self)@handle_demoCalls /verify_phone_number to compare user's input and the code generated on the IAP server -
button_deregister_nemhandel_participant(self)@handle_demoDeregister the edi user from Nemhandel network -
button_nemhandel_receiver_registration(self)@handle_demoThe user is registered on the Nemhandel network, i.e. can receive documents from other Nemhandel participants. -
button_nemhandel_registration_sms(self)@handle_demoThe first step of the Nemhandel onboarding. - Creates an EDI proxy user on the iap side, then the client side - Calls /activate_participant to mark the EDI user as nemhandel user - Sends an SMS code -
button_update_nemhandel_user_data(self)@handle_demoAction for the user to be able to update their contact details any time Calls /update_user on the iap server -
send_nemhandel_verification_code(self)Request user verification via SMS Calls the /send_verification_code to activate the participant and send the 6-digit verification code
New fields (7)
-
l10n_dk_nemhandel_proxy_stateSelectiondefault='not_registered'required=Trueselection=[('not_registered', 'Not registered'), ('in_verification', 'In verification'), ('receiver', 'Can send and receive'), ('rejected', 'Rejected')]string='Nemhandel status' -
nemhandel_contact_emailCharcompute='_compute_nemhandel_contact_email'help='Primary contact email for Nemhandel-related communication'readonly=Falsestore=Truestring='Nemhandel Contact email' -
nemhandel_edi_userMany2one → account_edi_proxy_client.usercomodel_name='account_edi_proxy_client.user'compute='_compute_nemhandel_edi_user' -
nemhandel_identifier_typeSelectionreadonly=Falserelated='partner_id.nemhandel_identifier_type' -
nemhandel_identifier_valueCharreadonly=Falserelated='partner_id.nemhandel_identifier_value' -
nemhandel_phone_numberCharcompute='_compute_nemhandel_phone_number'help='You will receive a verification code to this phone number'readonly=Falsestore=Truestring='Nemhandel Phone number (for validation)' -
nemhandel_purchase_journal_idMany2one → account.journalcomodel_name='account.journal'compute='_compute_nemhandel_purchase_journal_id'domain=[('type', '=', 'purchase')]readonly=Falsestore=Truestring='Nemhandel Purchase Journal'
No public methods.
New fields (9)
-
l10n_dk_nemhandel_proxy_stateSelectionreadonly=Falserelated='company_id.l10n_dk_nemhandel_proxy_state' -
nemhandel_contact_emailCharreadonly=Falserelated='company_id.nemhandel_contact_email' -
nemhandel_edi_identificationCharrelated='nemhandel_edi_user.edi_identification'string='Nemhandel identification' -
nemhandel_edi_modeSelectionrelated='nemhandel_edi_user.edi_mode'string='Nemhandel EDI operating mode' -
nemhandel_edi_userMany2onerelated='company_id.nemhandel_edi_user' -
nemhandel_identifier_typeSelectionreadonly=Falserelated='company_id.nemhandel_identifier_type' -
nemhandel_identifier_valueCharreadonly=Falserelated='company_id.nemhandel_identifier_value' -
nemhandel_phone_numberCharreadonly=Falserelated='company_id.nemhandel_phone_number' -
nemhandel_purchase_journal_idMany2onereadonly=Falserelated='company_id.nemhandel_purchase_journal_id'
-
action_open_nemhandel_form(self) -
button_deregister_nemhandel_participant(self)@handle_demoDeregister the edi user from Nemhandel network -
button_update_nemhandel_user_data(self)@handle_demoAction for the user to be able to update their contact details any time Calls /update_user on the iap server
New fields (6)
-
invoice_edi_formatSelectionselection_add=[('oioubl_21', 'OIOUBL 2.1')] -
invoice_sending_methodSelectionselection_add=[('nemhandel', 'By Nemhandel')] -
is_using_nemhandelBooleancompute='_compute_is_using_nemhandel' -
nemhandel_identifier_typeSelectioncompute='_compute_nemhandel_identifier_type'help='Unique identifier used by OIOUBL and Nemhandel'readonly=Falseselection=[('0088', 'EAN/GLN'), ('0184', 'CVR'), ('9918', 'IBAN'), ('0198', 'SE')]store=Truestring='Nemhandel Endpoint Type'tracking=True -
nemhandel_identifier_valueCharcompute='_compute_nemhandel_identifier_value'help='Code used to identify the Endpoint on Nemhandel'readonly=Falsestore=Truestring='Nemhandel Endpoint'tracking=True -
nemhandel_verification_stateSelectioncompany_dependent=Trueselection=[('not_verified', 'Not verified yet'), ('not_valid', 'Not on Nemhandel'), ('valid', 'Valid')]string='Nemhandel endpoint verification'
-
button_nemhandel_check_partner_endpoint(self, company=None)@handle_demoA basic check for whether a participant is reachable at the given identifier_type and identifier_value -
create(self, vals_list)@api.model_create_multi -
write(self, vals)
Loading…