14 KiB
Graph Report - /Users/gurpreet/Github/Odoo-Modules/fusion_poynt (2026-04-22)
Corpus Check
- 22 files · ~20,386 words
- Verdict: corpus is large enough that graph structure adds value.
Summary
- 316 nodes · 492 edges · 30 communities detected
- Extraction: 82% EXTRACTED · 18% INFERRED · 0% AMBIGUOUS · INFERRED: 87 edges (avg confidence: 0.72)
- Token cost: 0 input · 0 output
Community Hubs (Navigation)
- _COMMUNITY_Community 0
- _COMMUNITY_Community 1
- _COMMUNITY_Community 2
- _COMMUNITY_Community 3
- _COMMUNITY_Community 4
- _COMMUNITY_Community 5
- _COMMUNITY_Community 6
- _COMMUNITY_Community 7
- _COMMUNITY_Community 8
- _COMMUNITY_Community 9
- _COMMUNITY_Community 10
- _COMMUNITY_Community 11
- _COMMUNITY_Community 12
- _COMMUNITY_Community 13
- _COMMUNITY_Community 14
- _COMMUNITY_Community 15
- _COMMUNITY_Community 16
- _COMMUNITY_Community 17
- _COMMUNITY_Community 18
- _COMMUNITY_Community 19
- _COMMUNITY_Community 20
- _COMMUNITY_Community 21
- _COMMUNITY_Community 22
- _COMMUNITY_Community 23
- _COMMUNITY_Community 24
- _COMMUNITY_Community 25
- _COMMUNITY_Community 26
- _COMMUNITY_Community 27
- _COMMUNITY_Community 28
- _COMMUNITY_Community 29
God Nodes (most connected - your core abstractions)
PoyntController- 29 edgesPaymentTransaction- 24 edgesPoyntPaymentWizard- 20 edgesPaymentProvider- 14 edgesformat_poynt_amount()- 13 edgesPoyntRefundWizard- 11 edgesAccountMove- 10 edgescreate()- 10 edgesPoyntSettlementBatch- 8 edgesbuild_order_payload()- 7 edges
Surprising Connections (you probably didn't know these)
poynt_process_card()--calls-->format_poynt_amount()[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_poynt/controllers/main.py → /Users/gurpreet/Github/Odoo-Modules/fusion_poynt/utils.pyOverride of payment to return Poynt-specific processing values. For dir--uses-->PoyntController[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_poynt/models/payment_transaction.py → /Users/gurpreet/Github/Odoo-Modules/fusion_poynt/controllers/main.pyOverride ofpaymentto send a payment request to Poynt.--uses-->PoyntController[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_poynt/models/payment_transaction.py → /Users/gurpreet/Github/Odoo-Modules/fusion_poynt/controllers/main.pyCreate a Poynt order without a transaction. Used by the portal payment--uses-->PoyntController[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_poynt/models/payment_transaction.py → /Users/gurpreet/Github/Odoo-Modules/fusion_poynt/controllers/main.pyCreate a Poynt order and authorize the transaction. :return: Dict with--uses-->PoyntController[INFERRED] /Users/gurpreet/Github/Odoo-Modules/fusion_poynt/models/payment_transaction.py → /Users/gurpreet/Github/Odoo-Modules/fusion_poynt/controllers/main.py
Communities
Community 0 - "Community 0"
Cohesion: 0.07 Nodes (33): PoyntController, _detect_card_brand_from_details(), PaymentTransaction, Parse the stored receipt JSON for use in QWeb templates. For refund tra, Return receipt values from the original sale transaction. Used by the r, Create a Poynt order without a transaction. Used by the portal payment, Create a Poynt order and authorize the transaction. :return: Dict with, Detect card brand from the payment_details string on a token. Tokens st (+25 more)
Community 1 - "Community 1"
Cohesion: 0.06 Nodes (32): poynt_return(), poynt_terminal_callback(), Process a transaction-related webhook event. :param str event_type: The, PaymentProvider, Make an authenticated API request to the Poynt REST API. :param str met, Exchange a Poynt Collect nonce for a long-lived payment token JWT. :par, Charge a stored payment token JWT via the tokenize/charge endpoint. :pa, Test the connection to Poynt by authenticating and fetching business info. (+24 more)
Community 2 - "Community 2"
Cohesion: 0.08 Nodes (22): _detect_card_brand(), _onchange_card_number(), _onchange_card_type(), _onchange_provider_id(), PoyntPaymentWizard, Add the surcharge invoice line if surcharge is enabled and not yet applied., Remove the surcharge line from the invoice if it was applied., Dispatch to the appropriate payment method. (+14 more)
Community 3 - "Community 3"
Cohesion: 0.1 Nodes (13): Fetch all transactions from Poynt API for a date range. Paginates throu, _cron_daily_settlement_sync(), PoyntSettlementBatch, PoyntSettlementLine, Open linked payments in a list view., Open linked invoices in a list view., Fetch Poynt transactions for this batch's transaction date., Match this batch to an Elavon bank statement line. (+5 more)
Community 4 - "Community 4"
Cohesion: 0.1 Nodes (14): _detect_card_brand(), poynt_process_card(), poynt_send_to_terminal(), poynt_terminal_status(), poynt_webhook(), Process an order-related webhook event. :param str event_type: The Poyn, Detect the card brand from the card number using BIN prefixes., Verify the webhook notification signature. :param dict event: The webho (+6 more)
Community 5 - "Community 5"
Cohesion: 0.14 Nodes (12): Return a serialized JSON of values needed to render the inline payment form., PoyntRefundWizard, Dispatch to referenced refund or non-referenced credit., Check on Poynt that the transaction and all linked children have not bee, Raise if the given Poynt transaction has been voided or refunded., Send a referenced REFUND using the original transaction's parentId., Send a non-referenced credit via cloud message to the terminal. Require, Process the Poynt API response for a referenced refund. (+4 more)
Community 6 - "Community 6"
Cohesion: 0.1 Nodes (9): AccountMove, Resend the Poynt payment/refund receipt email to the customer., Open the Poynt payment collection wizard for this invoice., Open the Poynt refund wizard for this credit note., Find the Poynt payment transaction from the reversed invoice. For credi, Open payment transactions linked to this invoice/credit note., Open the credit notes linked to this invoice that were refunded via Poynt., Find the Poynt transaction linked to this invoice or credit note. (+1 more)
Community 7 - "Community 7"
Cohesion: 0.17 Nodes (17): _getSelectedCardType(), _hideProcessingOverlay(), _initiatePaymentFlow(), _pollTerminalStatus(), _prefillBillingAddress(), _prepareInlineForm(), _processCardPayment(), _processDirectFlow() (+9 more)
Community 8 - "Community 8"
Cohesion: 0.38 Nodes (1): TerminalPaymentWidget
Community 9 - "Community 9"
Cohesion: 0.43 Nodes (1): PoyntPollAction
Community 10 - "Community 10"
Cohesion: 0.33 Nodes (2): Create an invoice (if needed) and open the Poynt payment wizard. This s, SaleOrder
Community 11 - "Community 11"
Cohesion: 0.33 Nodes (1): ResConfigSettings
Community 12 - "Community 12"
Cohesion: 0.4 Nodes (2): AccountPayment, Open the settlement batch linked to this payment.
Community 13 - "Community 13"
Cohesion: 0.5 Nodes (2): CustomerPortal, PoyntCustomerPortal
Community 14 - "Community 14"
Cohesion: 1.0 Nodes (0):
Community 15 - "Community 15"
Cohesion: 1.0 Nodes (0):
Community 16 - "Community 16"
Cohesion: 1.0 Nodes (0):
Community 17 - "Community 17"
Cohesion: 1.0 Nodes (0):
Community 18 - "Community 18"
Cohesion: 1.0 Nodes (0):
Community 19 - "Community 19"
Cohesion: 1.0 Nodes (0):
Community 20 - "Community 20"
Cohesion: 1.0 Nodes (1): Daily cron: fetch yesterday's transactions, match to today's deposit.
Community 21 - "Community 21"
Cohesion: 1.0 Nodes (1): Auto-inject payment_amount for confirmed orders with outstanding balance.
Community 22 - "Community 22"
Cohesion: 1.0 Nodes (1): Process the return from a Poynt payment flow. The customer is redirecte
Community 23 - "Community 23"
Cohesion: 1.0 Nodes (1): Process webhook notifications from Poynt. Poynt sends cloud hook events
Community 24 - "Community 24"
Cohesion: 1.0 Nodes (1): Handle callback from a Poynt terminal after a payment completes. The te
Community 25 - "Community 25"
Cohesion: 1.0 Nodes (1): Handle the OAuth2 authorization callback from Poynt. After a merchant a
Community 26 - "Community 26"
Cohesion: 1.0 Nodes (1): Return available Poynt terminals for the given provider. :param int pro
Community 27 - "Community 27"
Cohesion: 1.0 Nodes (1): Process a card payment through Poynt Cloud API. The frontend sends card
Community 28 - "Community 28"
Cohesion: 1.0 Nodes (1): Send a payment request to a Poynt terminal device. :return: Dict with s
Community 29 - "Community 29"
Cohesion: 1.0 Nodes (1): Poll the status of a terminal payment. :return: Dict with current payme
Knowledge Gaps
- 89 isolated node(s):
Generate a unique request ID for Poynt API idempotency.,Build a full Poynt API URL for the given endpoint. :param str endpoint: The,Build the standard HTTP headers for a Poynt API request. :param str access_,Extract the urn:aid:... portion from a raw application ID string. Poynt dev,Create a self-signed JWT for Poynt OAuth2 token request. The JWT is signed(+84 more) These have ≤1 connection - possible missing edges or undocumented components. - Thin community
Community 15(1 nodes):__init__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 16(1 nodes):__init__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 17(1 nodes):__init__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 18(1 nodes):__manifest__.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 19(1 nodes):const.pyToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 20(1 nodes):Daily cron: fetch yesterday's transactions, match to today's deposit.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 21(1 nodes):Auto-inject payment_amount for confirmed orders with outstanding balance.Too small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 22(1 nodes):Process the return from a Poynt payment flow. The customer is redirecteToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 23(1 nodes):Process webhook notifications from Poynt. Poynt sends cloud hook eventsToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 24(1 nodes):Handle callback from a Poynt terminal after a payment completes. The teToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 25(1 nodes):Handle the OAuth2 authorization callback from Poynt. After a merchant aToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 26(1 nodes):Return available Poynt terminals for the given provider. :param int proToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 27(1 nodes):Process a card payment through Poynt Cloud API. The frontend sends cardToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 28(1 nodes):Send a payment request to a Poynt terminal device. :return: Dict with sToo small to be a meaningful cluster - may be noise or needs more connections extracted. - Thin community
Community 29(1 nodes):Poll the status of a terminal payment. :return: Dict with current paymeToo small to be a meaningful cluster - may be noise or needs more connections extracted.
Suggested Questions
Questions this graph is uniquely positioned to answer:
- Why does
create()connectCommunity 0toCommunity 1,Community 2,Community 3,Community 5,Community 6? High betweenness centrality (0.147) - this node is a cross-community bridge. - Why does
PoyntControllerconnectCommunity 0toCommunity 1,Community 4? High betweenness centrality (0.078) - this node is a cross-community bridge. - Are the 24 inferred relationships involving
PoyntController(e.g. withPaymentTransactionandOverride of payment to return Poynt-specific processing values. For dir) actually correct?PoyntControllerhas 24 INFERRED edges - model-reasoned connections that need verification. - Are the 8 inferred relationships involving
format_poynt_amount()(e.g. with._process_referenced_refund()and._process_non_referenced_credit()) actually correct?format_poynt_amount()has 8 INFERRED edges - model-reasoned connections that need verification. - What connects
Generate a unique request ID for Poynt API idempotency.,Build a full Poynt API URL for the given endpoint. :param str endpoint: The,Build the standard HTTP headers for a Poynt API request. :param str access_to the rest of the system? 89 weakly-connected nodes found - possible documentation gaps or missing edges. - Should
Community 0be split into smaller, more focused modules? Cohesion score 0.07 - nodes in this community are weakly interconnected. - Should
Community 1be split into smaller, more focused modules? Cohesion score 0.06 - nodes in this community are weakly interconnected.