AI TARIC & INTRASTAT Classifier

taric_ai_classifier
REPOSITORY
REPOSITORYOCA/l10n-bulgaria
GIT
GIThttps://github.com/OCA/l10n-bulgaria.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-bulgaria/tree/18.0/taric_ai_classifier
VERSION
VERSION 1.0.3
CATEGORY
CATEGORYAccounting/Localizations
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Rosen Vladimirov
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Rosen Vladimirov
COMMITTERS
COMMITTERSOCA-git-bot, oca-ci, rosenvladimirov
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-bulgaria
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:09:32
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - product
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - uom
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - stock_delivery
    - sale_stock
    - sale
    - sales_team
    - account_payment
    - account
    - onboarding
    - analytic
    - payment
    - utm
    - stock_account
    - delivery
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES requests
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
batch_classify_wizard_form_view batch.classify.wizard.form batch.classify.wizard form New
product_template_form_view_taric product.template.form.taric product.template xpath Inherits product.product_template_form_view
product_template_list_view_taric product.template.list.taric product.template xpath Inherits product.product_template_tree_view
res_config_settings_view_form_taric res.config.settings.view.form.inherit.taric res.config.settings xpath Inherits account.res_config_settings_view_form
taric_classify_wizard_form_view taric.classify.wizard.form taric.classify.wizard form New
taric_code_form_view taric.code.form taric.code form New
taric_code_search_view taric.code.search taric.code search New
taric_code_tree_view taric.code.tree taric.code list New
Models touched (8)

New fields (6)
  • confidence Float
    args: 'Confidence %'
  • message Text
  • product_id Many2one → product.template
    string='Product' args: 'product.template'
  • status Selection
    args: [('success', 'Success'), ('pending', 'Pending Review'), ('error', 'Error')]
  • taric_code Char
    args: 'Suggested Code'
  • wizard_id Many2one → batch.classify.wizard
    ondelete='cascade' required=True args: 'batch.classify.wizard'
Public methods (0)

No public methods.

New fields (7)
  • auto_apply_high_confidence Boolean
    default=False help='Automatically apply suggestions with >90% confidence' args: 'Auto-apply High Confidence'
  • category_id Many2one → product.category
    help='Process only products in this category' string='Category Filter' args: 'product.category'
  • filter_unclassified Boolean
    default=True help='Process only products without TARIC codes' args: 'Only Unclassified'
  • product_ids Many2many → product.template
    string='Products' args: 'product.template'
  • progress Float
    readonly=True args: 'Progress %'
  • result_ids One2many → batch.classify.result
    readonly=True string='Results' args: 'batch.classify.result', 'wizard_id'
  • status Text
    readonly=True
Public methods (2)
  • action_classify_batch(self)
    Run batch classification
  • default_get(self, fields_list)
    @api.model
    Load selected products from context

New fields (5)
  • ai_classification_confidence Float
    readonly=True related='taric_code_id.confidence_score' args: 'AI Confidence'
  • classification_history_ids One2many → taric.classification.history
    string='Classification History' args: 'taric.classification.history', 'product_id'
  • classification_method Selection
    help='How was the current TARIC code assigned' readonly=True args: [('manual', 'Manual'), ('ai', 'AI Suggested'), ('expert', 'Expert Verified'), ('api', 'API Verified')]
  • classification_verified Boolean
    readonly=True related='taric_code_id.verified' args: 'Classification Verified'
  • taric_code_id Many2one → taric.code
    help='10-digit TARIC code for customs' string='TARIC Code (template)' args: 'taric.code'
Public methods (4)
  • action_classify_with_ai(self)
    Open wizard to classify product using AI
  • action_verify_taric_code(self)
    Verify the current TARIC code online
  • action_view_classification_history(self)
    View classification history for this product
  • write(self, vals)
    Log classification history when TARIC code changes

New fields (4)
  • anthropic_api_key Char
    config_parameter='taric_ai.anthropic_api_key' help='API key for Claude AI service from Anthropic' string='Anthropic API Key'
  • auto_apply_high_confidence Boolean
    config_parameter='taric_ai.auto_apply_high_confidence' default=False help='Automatically apply AI suggestions with confidence > 95%' string='Auto-apply High Confidence'
  • auto_classify_enabled Boolean
    config_parameter='taric_ai.auto_classify_enabled' default=False help='Automatically suggest TARIC codes when creating new products' string='Enable Auto-Classification'
  • min_confidence_threshold Float
    config_parameter='taric_ai.min_confidence_threshold' default=80.0 help='Minimum confidence score to show AI suggestions' string='Minimum Confidence Threshold %'
Public methods (0)

No public methods.

New fields (8)
  • ai_model Char
    args: 'AI Model'
  • classification_method Selection
    index=True required=True args: [('manual', 'Manual'), ('ai', 'AI Suggested'), ('expert', 'Expert Verified')]
  • confidence_score Float
    digits=(3, 2) args: 'Confidence %'
  • create_date Datetime
    index=True readonly=True args: 'Date'
  • product_id Many2one → product.template
    index=True ondelete='cascade' required=True args: 'product.template'
  • reasoning Text
  • taric_code_id Many2one → taric.code
    index=True required=True args: 'taric.code'
  • user_id Many2one → res.users
    default=<expr> index=True args: 'res.users'
Public methods (0)

No public methods.

New fields (8)
  • code Char
    required=True
  • confidence Float
    digits=(5, 2) args: 'Confidence %'
  • description_bg Text
    args: 'Описание (BG)'
  • description_en Text
    args: 'Description (EN)'
  • reasoning Text
    args: 'AI Reasoning'
  • sequence Integer
    default=10
  • supplementary_unit Char
    args: 'Unit'
  • wizard_id Many2one → taric.classify.wizard
    ondelete='cascade' required=True args: 'taric.classify.wizard'
Public methods (0)

No public methods.

New fields (5)
  • custom_code Char
    help='Enter code manually if not in suggestions' args: 'Custom TARIC Code'
  • notes Char
    args: 'Classification Notes'
  • product_id Many2one → product.template
    required=True string='Product' args: 'product.template'
  • selected_suggestion_id Many2one → taric.classify.suggestion
    string='Selected Code' args: 'taric.classify.suggestion'
  • suggestion_ids One2many → taric.classify.suggestion
    string='AI Suggestions' args: 'taric.classify.suggestion', 'wizard_id'
Public methods (2)
  • action_apply_classification(self)
    Apply selected classification to product
  • default_get(self, fields_list)
    @api.model
    Load AI suggestions from context

New fields (12)
  • active Boolean
    default=True
  • classification_history_ids One2many → taric.classification.history
    string='History' args: 'taric.classification.history', 'taric_code_id'
  • code Char
    help='8-10 digit HS or TARIC code' index=True required=True args: 'HS/TARIC Code'
  • confidence_score Float
    digits=(3, 2) help='AI confidence level (0-100)' args: 'AI Confidence'
  • description Text
    translate=True
  • duty_rate Float
    digits=(5, 2) args: 'Duty Rate %'
  • product_ids One2many → product.template
    string='Products' args: 'product.template', 'taric_code_id'
  • valid_from Date
  • valid_to Date
  • verified Boolean
    help='Verified by customs expert'
  • verified_by_id Many2one → res.users
    string='Verified By' args: 'res.users'
  • verified_date Date
    args: 'Verification Date'
Public methods (3)
  • action_verify_code(self)
    Verify code and mark as verified
  • action_view_products(self)
    View products using this TARIC code
  • search_by_ai(self, product_description, product_category=None)
    @api.model
    Use Claude AI to suggest HS codes based on product description Args: product_description: Product name and description product_category: Optional product category Returns: List of suggested HS codes with confidence scores