Skip to content
Health
67/100
fair
  • Security25/25
    No findings
  • Activity25/25
    Last human commit 3 months ago
  • Required by5/25
    0 modules depend on it
  • Maturity12/25
    In 2 Odoo series since 18.0

Heuristic over the facts below, not an audit · How it's computed

Security findings
Grave / minor (static analysis)
Required by
0
Modules depending on it
External deps
2 pip · 0 bin
Python packages / system binaries
License
AGPL-3
No conflicts with its dependencies
Folder size
0.2 MB
Module directory on disk
Code analysis 0 migration notes 10 models 7 views 0 HTTP endpoints

Description

Shopify Connector Accounting extends the core connector with Shopify Payments payouts, balance transactions, fees, disputes, gift-card liability, and multi-currency reconciliation.

Journal entries are planned from exact Shopify amounts and must balance before posting. Configuration or amount mismatches raise typed operational errors; the module never inserts forced balancing lines.

Dependencies

Odoo dependencies
Python dependencies
requests, openupgradelib
System dependencies
None
Required by
None

Code analysis

Extracted from the source by best-effort static analysis (no code is executed); details may be incomplete.

Views touched 7

XML IDNameModelTypeStatus
shopify_dispute_operability_search shopify.dispute.operability.search shopify.dispute search New
shopify_dispute_view_form shopify.dispute.form shopify.dispute form New
shopify_dispute_view_list shopify.dispute.list shopify.dispute list New
shopify_instance_financial_view_form shopify.instance.form.financial shopify.instance form Inherits shopify_connector.shopify_instance_view_form
shopify_payout_operability_search shopify.payout.operability.search shopify.payout search New
shopify_payout_view_form shopify.payout.form shopify.payout form New
shopify_payout_view_list shopify.payout.list shopify.payout list New

HTTP endpoints 0

No HTTP endpoints found for this module.

Models touched 10

New fields (14)
  • amount Monetary
    currency_field='currency_id' readonly=True
  • amount_exact Char
    readonly=True required=True
  • company_id Many2one → res.company
    index=True readonly=True related='instance_id.company_id' store=True args: 'res.company'
  • currency_id Many2one → res.currency
    ondelete='restrict' readonly=True required=True args: 'res.currency'
  • dispute_status Char
    index=True readonly=True
  • dispute_type Char
    index=True readonly=True
  • evidence_due_by Datetime
    readonly=True
  • evidence_sent_on Datetime
    readonly=True
  • finalized_on Datetime
    readonly=True
  • initiated_at Datetime
    readonly=True
  • network_reason_code Char
    readonly=True
  • order_binding_id Many2one → shopify.order
    index=True ondelete='set null' readonly=True string='Associated Order' args: 'shopify.order'
  • raw_payload Json
    readonly=True
  • reason Char
    readonly=True
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • gift_card_move_id Many2one → account.move
    copy=False ondelete='set null' readonly=True string='Gift Card Liability Entry' args: 'account.move'
Public methods (0)

No public methods.

New fields (12)
  • dispute_ids One2many → shopify.dispute
    args: 'shopify.dispute', 'instance_id'
  • gift_card_liability_account_id Many2one → account.account
    compute='_compute_gift_card_liability_account' help="The configured gift-card product's income account, used as a liability account for sales and redemptions." args: 'account.account'
  • payout_adjustment_account_id Many2one → account.account
    check_company=True ondelete='restrict' args: 'account.account'
  • payout_auto_post Boolean
    default=False
  • payout_currency_gain_account_id Many2one → account.account
    check_company=True ondelete='restrict' args: 'account.account'
  • payout_currency_loss_account_id Many2one → account.account
    check_company=True ondelete='restrict' args: 'account.account'
  • payout_fee_account_id Many2one → account.account
    check_company=True domain="[('account_type', 'in', ('expense', 'expense_direct_cost'))]" ondelete='restrict' string='Payout Fee Expense Account' args: 'account.account'
  • payout_ids One2many → shopify.payout
    args: 'shopify.payout', 'instance_id'
  • payout_import_date_from Date
  • payout_import_date_to Date
  • payout_journal_id Many2one → account.journal
    check_company=True domain="[('type', 'in', ('bank', 'cash'))]" ondelete='restrict' args: 'account.journal'
  • shopify_payments_state Selection
    default='unknown' readonly=True required=True args: [('unknown', 'Not Checked'), ('enabled', 'Enabled'), ('unavailable', 'Unavailable')]
Public methods (1)
  • action_import_payouts(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (18)
  • company_id Many2one → res.company
    index=True readonly=True related='instance_id.company_id' store=True args: 'res.company'
  • currency_id Many2one → res.currency
    ondelete='restrict' readonly=True required=True args: 'res.currency'
  • entry_id Many2one → account.move
    check_company=True copy=False ondelete='set null' readonly=True string='Generated Journal Entry' args: 'account.move'
  • fee_amount Monetary
    currency_field='currency_id' readonly=True
  • fee_exact Char
    readonly=True required=True
  • gross_amount Monetary
    currency_field='currency_id' readonly=True
  • gross_exact Char
    readonly=True required=True
  • issued_at Datetime
    index=True readonly=True
  • legacy_resource_id Char
    index=True readonly=True
  • net_amount Monetary
    currency_field='currency_id' readonly=True
  • net_exact Char
    readonly=True required=True
  • payout_status Char
    index=True readonly=True
  • raw_payload Json
    readonly=True
  • reference Char
    index=True readonly=True required=True
  • summary Json
    readonly=True
  • transaction_ids One2many → shopify.payout.transaction
    string='Balance Transactions' args: 'shopify.payout.transaction', 'payout_id'
  • transaction_type Char
    readonly=True
  • unmatched_count Integer
    compute='_compute_unmatched_count' string='Unmatched Transactions'
Public methods (1)
  • action_generate_entry(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (25)
  • adjustment_reason Char
    readonly=True
  • amount Monetary
    currency_field='currency_id' readonly=True
  • amount_exact Char
    readonly=True required=True
  • company_id Many2one → res.company
    index=True readonly=True related='instance_id.company_id' store=True args: 'res.company'
  • currency_id Many2one → res.currency
    ondelete='restrict' readonly=True required=True args: 'res.currency'
  • display_type Char
    readonly=True
  • fee Monetary
    currency_field='currency_id' readonly=True
  • fee_exact Char
    readonly=True required=True
  • instance_id Many2one → shopify.instance
    index=True ondelete='cascade' required=True args: 'shopify.instance'
  • is_unmatched Boolean
    index=True readonly=True
  • net Monetary
    currency_field='currency_id' readonly=True
  • net_exact Char
    readonly=True required=True
  • order_binding_id Many2one → shopify.order
    index=True ondelete='set null' readonly=True string='Associated Order' args: 'shopify.order'
  • payout_id Many2one → shopify.payout
    index=True ondelete='cascade' required=True args: 'shopify.payout'
  • raw_payload Json
    readonly=True
  • reconciliation_account_id Many2one → account.account
    check_company=True ondelete='restrict' readonly=True args: 'account.account'
  • route Selection
    readonly=True args: [('clearing', 'Gateway Clearing'), ('adjustment', 'Adjustment'), ('gift_card', 'Gift Card Liability'), ('fee', 'Fee Expense')]
  • shopify_id Char
    index=True readonly=True required=True
  • source_id Char
    readonly=True
  • source_order_transaction_id Char
    index=True readonly=True
  • source_type Char
    index=True readonly=True
  • test Boolean
    readonly=True
  • transaction_date Datetime
    index=True readonly=True
  • transaction_type Char
    index=True readonly=True
  • unmatched_reason Char
    readonly=True
Public methods (0)

No public methods.

Loading…