Skip to main content
Product details are displayed in English. Translations coming soon.
South Korea e-Tax Invoice (Hometax) — A build-to-order Odoo module that turns a posted customer invoice into a compliant Kore — 1/1उदाहरणात्मक पूर्वावलोकन

A build-to-order Odoo module that turns a posted customer invoice into a compliant Korean electronic tax

invoice, transmits it through your Hometax or ASP route, and tracks acceptance, rejection and correction end to end. ECOSIRE builds, installs and supports it for your Odoo 17.0, 18.0 or 19.0 database.

South Korea e-Tax Invoice (Hometax) क्या है?

A build-to-order Odoo module that turns a posted customer invoice into a compliant Korean electronic tax invoice, transmits it through your Hometax or ASP route, and tracks acceptance, rejection and correction end to end. ECOSIRE builds, installs and supports it for your Odoo 17.0, 18.0 or 19.0 database. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

प्रमुख सुविधाएँ

New `ecosire.etax.document` model linked one-to-one to `account.move`, with its own state machine (draft/queued/issued/accepted/rejected/corrected) and a `mail.thread` chatter timeline of every transition
Korean business registration number (사업자등록번호) and sub-business (종사업장) code fields on `res.partner`, validated by `@api.constrains` including the official check-digit algorithm before an invoice can be posted
Configurable mapping model translating your `account.tax` records to Korean classifications (taxable / zero-rated / exempt), so the electronic document is derived from the same tax lines as the ledger
ASP or direct-Hometax transmission service layer with per-company credentials in `ir.config_parameter`, persisted request/response payloads, exponential-backoff retries and idempotency keys that make duplicate issuance after a timeout impossible
Asynchronous issuance through an `ir.cron` queue so posting an invoice never blocks on a remote call, plus a manual Send Now action for urgent documents
Guided correction wizard (`TransientModel`) producing the correct 수정세금계산서 type — cancellation, amount amendment or re-issue — with a bidirectional link between original and corrective document
Human-readable QWeb tax invoice report in Korean and English rendered from the same posted data as the machine payload, so the customer copy and the NTS copy cannot diverge
Rejection handling that translates provider and NTS reason codes into actionable messages on the invoice and raises a scheduled activity for the responsible accountant
Statutory archiving of the transmitted payload, provider acknowledgement and rendered PDF as `ir.attachment` records tied to the journal entry
Dedicated e-tax security group in `ir.model.access.csv` plus multi-company `record rules` on `company_id`; documents are append-only and can only be voided via the correction workflow
Reconciliation list view with filters for issuance status, VAT period, buyer registration number and NTS approval number, plus Excel/CSV export for matching against your Hometax download
Documented model methods callable over XML-RPC / JSON-RPC by a restricted service user, so upstream billing systems, portals or RPA bots can issue and poll status without UI access
Server-action and automated-action hooks so issuance triggers can be extended (on payment registration, on delivery confirmation) without patching the module
Built and tested for Odoo 17.0, 18.0 and 19.0 with a Community-compatible dependency footprint (`account` only); Enterprise installs hook into the accounting dashboard and audit trail instead of duplicating them

ऑर्डर पर निर्मित, पूरी तरह आपके लिए तैयार

स्वयं सेटअप की ज़रूरत नहीं — ECOSIRE द्वारा निर्मित, इंस्टॉल और समर्थित एक कार्यशील ऐप।

  1. 1

    आप ऑर्डर करते हैं

    एक बार के निर्माण मूल्य से शुरू करें। किकऑफ़ पर हम आपके साथ मिलकर दायरा तय करते हैं।

  2. 2

    हम बनाते और इंस्टॉल करते हैं

    ECOSIRE इसे आपके Odoo पर बनाता, कॉन्फ़िगर और इंस्टॉल करता है।

  3. 3

    लाइव + समर्थन

    आप लगभग एक कार्य सप्ताह में लाइव हो जाते हैं, गो-लाइव के बाद दो सप्ताह के समर्थन के साथ। हमारे द्वारा दिए गए कोड की खामियाँ निःशुल्क ठीक की जाती हैं।

तकनीकी विनिर्देश

Odoo संगतता
Odoo 17, Odoo 18, Odoo 19
संस्करण
Enterprise और Community
लाइसेंस
लाइसेंस की पुष्टि आवश्यक है
Python आवश्यकता
Python 3.10+
डेटाबेस
PostgreSQL 12+

इस उत्पाद के बारे में

Finance teams operating in South Korea carry an obligation that Odoo core has no concept of: the electronic tax invoice (전자세금계산서). Every taxable B2B supply has to be issued in the prescribed electronic form, transmitted to the National Tax Service through Hometax or an approved ASP, and retained so an auditor can reconstruct it. Out of the box, Odoo gives you account.move, a tax engine and a QWeb PDF — and stops there. There is no business-registration-number validation, no issuance state, no transmission log, no correction (수정세금계산서) workflow, and no link between an accepted NTS approval number and the journal entry it belongs to. The gap is usually filled with a spreadsheet, a second login to a portal, and a monthly reconciliation nobody enjoys.

What we build is a dedicated Odoo module that makes the e-Tax Invoice a first-class object in the accounting flow. A new model — typically ecosire.etax.document — is created when a Korean customer invoice is posted, linked one-to-one to the account.move, and driven by a proper selection state machine (draft → queued → issued → accepted / rejected → corrected). Master data does the heavy lifting: res.partner gains validated business registration number, sub-business (종사업장) code, taxation type and buyer e-mail fields, all checked by @api.constrains so a bad number is refused at data entry rather than at transmission time. account.tax records are mapped to the correct Korean classification (taxable, zero-rated, exempt) through a configurable mapping model, so the amounts on the electronic document are derived from the same tax lines the general ledger already uses — one posting, one truth, never a re-keyed figure.

Transmission is implemented against the route you actually use. We integrate with your certified ASP or direct e-tax provider over its documented HTTP/JSON or SOAP API from a Python service layer, with credentials held in ir.config_parameter rather than source control, per-company settings on res.company, and retries plus idempotency keys so a timeout can never produce a duplicate issuance. Every request and response is persisted for audit. Outbound work runs through an ir.cron queue instead of blocking the user's post action, and a mail.thread chatter entry on the invoice records each state change together with the NTS approval number when it comes back. Rejections are not dead ends: the module surfaces the provider's reason code in readable form, raises an activity for the responsible accountant, and offers a guided correction wizard (a TransientModel) that produces the correct 수정 type — cancellation, amount amendment or re-issue — linked back to the original for traceability. The same posting produces both the machine payload and a human-readable QWeb report in Korean and English, so the customer copy and the transmitted document can never drift apart.

Security and reporting follow Odoo conventions rather than being bolted on. Access is defined in ir.model.access.csv with a dedicated e-tax officer group plus multi-company record rules on company_id; the document model is append-only for accountants, and cancellation is possible only through the correction workflow. Archiving keeps the transmitted payload, the provider acknowledgement and the rendered PDF as ir.attachment records tied to the journal entry for the statutory retention period, with a searchable list view and filters by issuance status, VAT period, buyer registration number and approval number — so reconciling a period against your Hometax download is a filtered list and an export, not an afternoon. Documented model methods are callable over Odoo's XML-RPC/JSON-RPC API, so an upstream billing system or RPA bot can trigger issuance and read status without UI access. The module targets Odoo 17.0, 18.0 and 19.0, ships as a normal addon with its own __manifest__.py, depends only on account (so it runs on Community), and on Enterprise hooks into the accounting dashboard and audit trail rather than duplicating them.

This is a build-to-order product, not an existing apps.odoo.com download. After a short scoping call we confirm your Odoo version and edition, your ASP or direct-Hometax route, your chart of accounts and tax mapping, and any sub-business or multi-company structure — then we write a fixed scope. Typical delivery is one working week from confirmed scope. You get the module built and configured against a staging copy of your database first, UAT with your own invoices in the provider's test environment, a documented go-live with a rollback plan, and a post-go-live support window. The source code is handed over in a git repository you own, so nothing here makes you dependent on us to keep operating.

What you get

  • Installable Odoo module source code built for your exact version (17.0, 18.0 or 19.0) and edition
  • Installation and configuration on your environment, including ASP/Hometax credentials, per-company settings and tax mapping
  • Technical documentation: data model, state machine, integration contract, configuration reference and extension points
  • End-user guide plus a live training session for your finance team covering issuance, rejection handling and corrections
  • UAT on a staging copy of your database using your own invoices against the provider's test environment, with a written rollback plan
  • Post-go-live support window for defect fixes and configuration adjustments after cutover
  • Handover of the private git repository with the full source history — the code is yours
  • Documented VAT-period reconciliation procedure for matching Odoo records against your Hometax download

Who this is for

Finance Manager (재무팀장) of a Korean entity

Signs off the VAT return and is accountable for every tax invoice being issued and accepted on time. Needs issuance status visible on the invoice itself, an audit trail that survives an NTS review, and no parallel spreadsheet between Odoo and Hometax.

Group Controller of a multinational running Odoo globally

Runs one Odoo instance across several countries and will not fork the accounting process for Korea. Needs the Korean obligation handled inside the standard `account.move` flow, scoped by company with proper record rules, without disturbing the other legal entities.

AR / Billing Accountant issuing invoices daily

Posts customer invoices all day and is the person who has to deal with a rejection. Needs the reason code in plain language, a correction wizard that picks the right 수정 type, and one posting that produces both the customer PDF and the transmitted document.

IT / ERP Manager owning the Odoo estate

Owns upgrades and integrations. Needs a clean addon with its own `__manifest__.py` and no core patches, credentials kept out of source control, an RPC-callable surface for upstream systems, and the source in a repository the company controls.

How South Korea e-Tax Invoice (Hometax) Compares

CriterionECOSIRECustom BuildCompetitorOdoo नेटिव
Korean e-Tax Invoice issuanceBuilt into the posting flow with a dedicated document model and state machineAchievable, but you specify and build the state machine yourselfOften present, though scoped to the vendor's chosen ASPNot present — Odoo core has no e-Tax Invoice concept
Business registration number validationCheck-digit validation via `@api.constrains` at data entry, before postingDepends entirely on whether the spec asked for itUsually a plain text field with light or no validationA free-text VAT field with no Korean-specific rule
Tax mapping from master dataConfigurable mapping from your own `account.tax` records to Korean classificationsFrequently hardcoded to the tax codes present on day oneFixed mapping assuming a standard Korean chart of accountsTax engine exists but carries no e-invoice classification
Rejection and correction workflowGuided 수정세금계산서 wizard linked back to the original documentCommonly deferred to phase two and handled manually meanwhileVaries widely; often a status flag plus manual re-issueNone — corrections happen outside the system
Audit trail and archivingPayload, acknowledgement and PDF stored as attachments on the journal entryLogging quality depends on the developer and the budgetTypically a transmission log without the full document setStandard chatter and PDF only, with no transmission record
Multi-company and access controlDedicated security group plus record rules on `company_id`Often single-company by default and retrofitted laterGenerally single-entity assumptions in the data modelOdoo multi-company applies, but there is no e-tax object to scope
Source ownership and upgradesFull source in a git repository you own, built per Odoo versionYou own it, and you also own every future version migrationLicensed or encrypted code tied to the vendor's roadmapCore upgrades handled by Odoo, but the requirement stays unmet
External system integrationDocumented RPC-callable methods plus server and automated action hooksPossible, but the interface is usually written for one callerOften UI-only, with no supported programmatic entry pointGeneric ORM RPC access with no e-tax semantics to call

Frequently Asked Questions about South Korea e-Tax Invoice

How long does delivery take?

This is a build-to-order module, not an existing download. Typical delivery is one working week from confirmed scope. The clock starts once we have agreed your Odoo version and edition, your ASP or direct-Hometax route, your tax mapping and any multi-company or sub-business structure — which is exactly what the initial scoping call establishes.

Do I need an ASP account, or does this connect straight to Hometax?

Most Korean businesses transmit through a certified ASP (e-tax service provider) rather than direct Hometax API access, and that is the route we implement by default, against your provider's documented API. If you already hold direct or certificate-based credentials we build against that instead — the integration layer is scoped to your actual channel during the scoping call. We do not resell or provide the ASP account itself.

Which Odoo versions and editions are supported?

We build for Odoo 17.0, 18.0 and 19.0. The module depends only on `account`, so it runs on Community as well as Enterprise. On Enterprise we hook into the accounting dashboard and audit-trail features rather than duplicating them; nothing in the module requires an Enterprise subscription.

What happens when the NTS or the provider rejects a document?

The reason code is stored on the e-tax document, translated into a readable message in the invoice chatter, and an activity is raised for the responsible accountant. From there the correction wizard produces the appropriate 수정세금계산서 — cancellation, amount amendment or re-issue — and links it back to the original so the audit trail shows the whole chain.

How do support and updates work after go-live?

Delivery includes a post-go-live support window for defect fixes and configuration adjustments. Beyond that, ongoing support and version upgrades — carrying the module to a newer Odoo release, or adapting to an NTS or provider specification change — are handled as a support agreement or a scoped change request. Because the source is handed over in your own git repository, you are never locked in: your team or another partner can maintain it.

Will this modify Odoo core or break my upgrades?

No core files are patched. The module is a standard addon with its own `__manifest__.py` that extends `res.partner`, `res.company`, `account.tax` and `account.move` by inheritance and adds its own models, views and security rules. Upgrades follow the normal Odoo addon path, and we test the module against the target version as part of any upgrade engagement.

Can other systems trigger issuance without logging into Odoo?

Yes. The issuance and status-read methods are exposed on the model and callable over Odoo's XML-RPC and JSON-RPC API using a service user restricted by the module's own security group, so an upstream billing system, portal or RPA bot can issue and poll status. Server actions and automated actions are also available if you would rather drive issuance from an Odoo-side event such as payment registration.

ऑर्डर पर निर्मित
Social Facebook
Odoo

Social Facebook

A build-to-order Odoo module that connects your Facebook Pages to Odoo for scheduled publishing, comment and message handling, and native page analytics. ECOSIRE scopes, builds, installs, and supports it — this is a made-to-order engagement, not an off-the-shelf download.

From $999.00प्रारंभिक मूल्य — आपके कार्यक्षेत्र के अनुसार तय किया जाएगा
ऑर्डर पर निर्मित
Social Instagram
Odoo

Social Instagram

A build-to-order Odoo integration that connects the Instagram Graph API directly into your database — publish and schedule posts, pull engagement insights, and manage comments without leaving Odoo. ECOSIRE builds, installs, and supports it after a scoping call.

From $999.00प्रारंभिक मूल्य — आपके कार्यक्षेत्र के अनुसार तय किया जाएगा
ऑर्डर पर निर्मित
SQL BI View Editor
Odoo

SQL BI View Editor

A build-to-order Odoo module that turns your SQL into governed business intelligence views — materialized or standard — exposed as read-only ORM models you can pivot, filter, group, and export. ECOSIRE scopes, builds, installs, and supports it.

From $999.00प्रारंभिक मूल्य — आपके कार्यक्षेत्र के अनुसार तय किया जाएगा
ऑर्डर पर निर्मित
STC Pay & mada Wallet Checkout for Odoo
Odoo

STC Pay & mada Wallet Checkout for Odoo

A custom Odoo payment provider that accepts STC Pay and mada directly at checkout, with SAR localization, webhook reconciliation, and refund support. ECOSIRE builds, installs, and supports it for your Saudi Odoo instance.

From $999.00प्रारंभिक मूल्य — आपके कार्यक्षेत्र के अनुसार तय किया जाएगा
कोटेशन का अनुरोध करें

South Korea e-Tax Invoice

A build-to-order Odoo module that turns a posted customer invoice into a compliant Korean electronic tax invoice, transmits it through your Hometax or ASP route, and tracks acceptance, rejection and correction end to end. ECOSIRE builds, installs and supports it for your Odoo 17.0, 18.0 or 19.0 database.

  • New `ecosire.etax.document` model linked one-to-one to `account.move`, with its own state machine (draft/queued/issued/accepted/rejected/corrected) and a `mail.thread` chatter timeline of every transition
  • Korean business registration number (사업자등록번호) and sub-business (종사업장) code fields on `res.partner`, validated by `@api.constrains` including the official check-digit algorithm before an invoice can be posted
  • Configurable mapping model translating your `account.tax` records to Korean classifications (taxable / zero-rated / exempt), so the electronic document is derived from the same tax lines as the ledger
  • ASP or direct-Hometax transmission service layer with per-company credentials in `ir.config_parameter`, persisted request/response payloads, exponential-backoff retries and idempotency keys that make duplicate issuance after a timeout impossible

कोटेशन का अनुरोध करें

हमें South Korea e-Tax Invoice के लिए अपनी ज़रूरतें बताएं और हम आपको कीमत, लाइसेंस विकल्प और एक अनुकूलित प्रस्ताव भेजेंगे — आमतौर पर एक कार्यदिवस के भीतर।

अभी कोई भुगतान नहीं। यह हमारी टीम को एक कोटेशन अनुरोध भेजता है — हम कीमत और अगले चरणों के साथ ईमेल द्वारा संपर्क करेंगे।