| | | | | | | | | | | | | | | | | | | | | |
<?xml version="1.0" standalone="no" encoding="windows-1252"?> |
<!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.3c --> |
<!-- Field: Doc-Info; Name: VendorURI; Value: http://www.novaworks.co --> |
<!-- Field: Doc-Info; Name: Source; Value: 20200430 10Q Q2 DFN.xfr; Date: 2020%2D06%2D14T15:37:56Z --> |
<!-- Field: Doc-Info; Name: Status; Value: 0x00000000 --> |
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/DocumentAndEntityInformation" xlink:href="coda-20200430.xsd#DocumentAndEntityInformation" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/BalanceSheets" xlink:href="coda-20200430.xsd#BalanceSheets" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/BalanceSheetsParenthetical" xlink:href="coda-20200430.xsd#BalanceSheetsParenthetical" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/StatementsOfIncomeAndComprehensiveIncome" xlink:href="coda-20200430.xsd#StatementsOfIncomeAndComprehensiveIncome" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/StatementsOfChangesInStockholdersEquity" xlink:href="coda-20200430.xsd#StatementsOfChangesInStockholdersEquity" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/StatementsOfCashFlows" xlink:href="coda-20200430.xsd#StatementsOfCashFlows" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/BasisOfPresentation" xlink:href="coda-20200430.xsd#BasisOfPresentation" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/RevenueRecognition" xlink:href="coda-20200430.xsd#RevenueRecognition" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/FairValueOfFinancialInstruments" xlink:href="coda-20200430.xsd#FairValueOfFinancialInstruments" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/ForeignCurrencyTranslation" xlink:href="coda-20200430.xsd#ForeignCurrencyTranslation" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/Inventory" xlink:href="coda-20200430.xsd#Inventory" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/FixedAssets" xlink:href="coda-20200430.xsd#FixedAssets" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/OtherCurrentAssets" xlink:href="coda-20200430.xsd#OtherCurrentAssets" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/Estimates" xlink:href="coda-20200430.xsd#Estimates" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/ContractsInProgress" xlink:href="coda-20200430.xsd#ContractsInProgress" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/Concentrations" xlink:href="coda-20200430.xsd#Concentrations" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/NotePayable" xlink:href="coda-20200430.xsd#NotePayable" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/RecentAccountingPronouncements" xlink:href="coda-20200430.xsd#RecentAccountingPronouncements" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/EarningsPerCommonShare" xlink:href="coda-20200430.xsd#EarningsPerCommonShare" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/SegmentAnalysis" xlink:href="coda-20200430.xsd#SegmentAnalysis" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/IncomeTaxes" xlink:href="coda-20200430.xsd#IncomeTaxes" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/ReclassificationOfPriorYearPresentation" xlink:href="coda-20200430.xsd#ReclassificationOfPriorYearPresentation" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/SubsequentEvent" xlink:href="coda-20200430.xsd#SubsequentEvent" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/InventoryTables" xlink:href="coda-20200430.xsd#InventoryTables" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/FixedAssetsTables" xlink:href="coda-20200430.xsd#FixedAssetsTables" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/OtherCurrentAssetsTables" xlink:href="coda-20200430.xsd#OtherCurrentAssetsTables" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/NotePayableTables" xlink:href="coda-20200430.xsd#NotePayableTables" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/EarningsPerCommonShareTables" xlink:href="coda-20200430.xsd#EarningsPerCommonShareTables" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/SegmentAnalysisTables" xlink:href="coda-20200430.xsd#SegmentAnalysisTables" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/IncomeTaxesTables" xlink:href="coda-20200430.xsd#IncomeTaxesTables" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/RevenueRecognitionDetailsNarrative" xlink:href="coda-20200430.xsd#RevenueRecognitionDetailsNarrative" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/Inventory-ScheduleOfComponentsOfInventoryDetails" xlink:href="coda-20200430.xsd#Inventory-ScheduleOfComponentsOfInventoryDetails" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/FixedAssets-ScheduleOfFixedAssetsDetails" xlink:href="coda-20200430.xsd#FixedAssets-ScheduleOfFixedAssetsDetails" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/OtherCurrentAssets-SummaryOfOtherCurrentAssetsDetails" xlink:href="coda-20200430.xsd#OtherCurrentAssets-SummaryOfOtherCurrentAssetsDetails" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/ContractsInProgressDetailsNarrative" xlink:href="coda-20200430.xsd#ContractsInProgressDetailsNarrative" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/ConcentrationsDetailsNarrative" xlink:href="coda-20200430.xsd#ConcentrationsDetailsNarrative" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/NotesPayableDetailsNarrative" xlink:href="coda-20200430.xsd#NotesPayableDetailsNarrative" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/NotesPayable-ScheduleOfNotePayableDetails" xlink:href="coda-20200430.xsd#NotesPayable-ScheduleOfNotePayableDetails" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/NotesPayable-ScheduleOfNotePayableDetailsParenthetical" xlink:href="coda-20200430.xsd#NotesPayable-ScheduleOfNotePayableDetailsParenthetical" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/EarningsPerCommonShare-ScheduleOfEarningsPerShareBasicAndDilutedDetails" xlink:href="coda-20200430.xsd#EarningsPerCommonShare-ScheduleOfEarningsPerShareBasicAndDilutedDetails" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/SegmentAnalysisDetailsNarrative" xlink:href="coda-20200430.xsd#SegmentAnalysisDetailsNarrative" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/SegmentAnalysis-ScheduleOfSegmentReportingInformationDetails" xlink:href="coda-20200430.xsd#SegmentAnalysis-ScheduleOfSegmentReportingInformationDetails" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/SegmentAnalysis-ScheduleOfDisaggregateOfRevenueFromContractsForSaleWithCustomersByGeographicLocationDetails" xlink:href="coda-20200430.xsd#SegmentAnalysis-ScheduleOfDisaggregateOfRevenueFromContractsForSaleWithCustomersByGeographicLocationDetails" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/IncomeTaxesDetailsNarrative" xlink:href="coda-20200430.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/IncomeTaxes-ScheduleOfNetOperatingLossCarryforwardsDetails" xlink:href="coda-20200430.xsd#IncomeTaxes-ScheduleOfNetOperatingLossCarryforwardsDetails" xlink:type="simple"/> |
| <link:roleRef roleURI="http://codaoctopusgroup.com/role/SubsequentEventDetailsNarrative" xlink:href="coda-20200430.xsd#SubsequentEventDetailsNarrative" xlink:type="simple"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/DocumentAndEntityInformation" xlink:title="00000001 - Document - Document and Entity Information"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/BalanceSheets" xlink:title="00000002 - Statement - Consolidated Balance Sheets"> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent"/> |
| | <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet"/> |
| | <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="loc_us-gaapUnbilledReceivablesCurrent"/> |
| | <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapUnbilledReceivablesCurrent" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsCurrent" xlink:label="loc_us-gaapOtherAssetsCurrent"/> |
| | <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapOtherAssetsCurrent" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="loc_us-gaapPrepaidExpenseCurrent"/> |
| | <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapPrepaidExpenseCurrent" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssets" xlink:label="loc_us-gaapOtherAssets"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IntangibleAssetsNetIncludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetIncludingGoodwill"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOtherAssets" xlink:to="loc_us-gaapIntangibleAssetsNetIncludingGoodwill" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet"/> |
| | <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOtherAssets" xlink:to="loc_us-gaapDeferredIncomeTaxAssetsNet" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapAssetsCurrent" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet"/> |
| | <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" weight="1"/> |
| | <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapOtherAssets" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccountsPayableAndOtherAccruedLiabilitiesCurrent"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAccountsPayableAndOtherAccruedLiabilitiesCurrent" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent"/> |
| | <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAccountsPayableCurrent" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent"/> |
| | <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NotesPayableCurrent" xlink:label="loc_us-gaapNotesPayableCurrent"/> |
| | <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapNotesPayableCurrent" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="loc_us-gaapLiabilitiesNoncurrent"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityNoncurrent"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesNoncurrent" xlink:to="loc_us-gaapContractWithCustomerLiabilityNoncurrent" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermNotesPayable" xlink:label="loc_us-gaapLongTermNotesPayable"/> |
| | <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesNoncurrent" xlink:to="loc_us-gaapLongTermNotesPayable" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapLiabilitiesCurrent" xlink:type="arc" weight="1"/> |
| | <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapLiabilitiesNoncurrent" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapCommonStockValue" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax"/> |
| | <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit"/> |
| | <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaapAdditionalPaidInCapitalCommonStock"/> |
| | <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapAdditionalPaidInCapitalCommonStock" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapLiabilities" xlink:type="arc" weight="1"/> |
| | <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" weight="1"/> |
| | </link:calculationLink> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/BalanceSheetsParenthetical" xlink:title="00000003 - Statement - Consolidated Balance Sheets (Parenthetical)"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/StatementsOfIncomeAndComprehensiveIncome" xlink:title="00000004 - Statement - Consolidated Statements of Income and Comprehensive Income (Unaudited)"> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostOfRevenue" xlink:label="loc_us-gaapCostOfRevenue"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapCostOfRevenue" xlink:type="arc" weight="-1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax"/> |
| | <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapResearchAndDevelopmentExpense" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaapSellingGeneralAndAdministrativeExpense"/> |
| | <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapSellingGeneralAndAdministrativeExpense" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingIncomeLoss" xlink:to="loc_us-gaapGrossProfit" xlink:type="arc" weight="1"/> |
| | <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingIncomeLoss" xlink:to="loc_us-gaapOperatingExpenses" xlink:type="arc" weight="-1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="loc_us-gaapNonoperatingIncomeExpense"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestExpenseOther" xlink:label="loc_us-gaapInterestExpenseOther"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNonoperatingIncomeExpense" xlink:to="loc_us-gaapInterestExpenseOther" xlink:type="arc" weight="-1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherIncome" xlink:label="loc_us-gaapOtherIncome"/> |
| | <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNonoperatingIncomeExpense" xlink:to="loc_us-gaapOtherIncome" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapOperatingIncomeLoss" xlink:type="arc" weight="1"/> |
| | <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapNonoperatingIncomeExpense" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentIncomeTaxExpenseBenefit"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapCurrentIncomeTaxExpenseBenefit" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit"/> |
| | <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" weight="1"/> |
| | <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" weight="-1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:to="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTax"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTax" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" weight="1"/> |
| | <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTax" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:type="arc" weight="1"/> |
| | </link:calculationLink> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/StatementsOfChangesInStockholdersEquity" xlink:title="00000005 - Statement - Consolidated Statements of Changes in Stockholders' Equity (Unaudited)"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/StatementsOfCashFlows" xlink:title="00000006 - Statement - Consolidated Statements of Cash Flows (Unaudited)"> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable"/> |
| | <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable" xlink:type="arc" weight="-1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories"/> |
| | <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInInventories" xlink:type="arc" weight="-1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:label="loc_us-gaapIncreaseDecreaseInOtherCurrentAssets"/> |
| | <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInOtherCurrentAssets" xlink:type="arc" weight="-1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidExpense"/> |
| | <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInPrepaidExpense" xlink:type="arc" weight="-1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability"/> |
| | <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="coda-20200430.xsd#CODA_IncreaseDecreaseInDeferredTaxAsset" xlink:label="loc_CODAIncreaseDecreaseInDeferredTaxAsset"/> |
| | <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_CODAIncreaseDecreaseInDeferredTaxAsset" xlink:type="arc" weight="-1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndOtherOperatingLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableAndOtherOperatingLiabilities"/> |
| | <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayableAndOtherOperatingLiabilities" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerAsset"/> |
| | <link:calculationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerAsset" xlink:type="arc" weight="-1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation"/> |
| | <link:calculationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapShareBasedCompensation" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="loc_us-gaapGainLossOnSaleOfPropertyPlantEquipment"/> |
| | <link:calculationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapGainLossOnSaleOfPropertyPlantEquipment" xlink:type="arc" weight="-1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DepreciationAndAmortization" xlink:label="loc_us-gaapDepreciationAndAmortization"/> |
| | <link:calculationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapDepreciationAndAmortization" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" weight="-1"/> |
| | <link:loc xlink:type="locator" xlink:href="coda-20200430.xsd#CODA_PurchasesOfPatents" xlink:label="loc_CODAPurchasesOfPatents"/> |
| | <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_CODAPurchasesOfPatents" xlink:type="arc" weight="-1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="loc_us-gaapProceedsFromSaleOfPropertyPlantAndEquipment"/> |
| | <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfCommonStock"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapProceedsFromIssuanceOfCommonStock" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="loc_us-gaapRepaymentsOfLongTermDebt"/> |
| | <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapRepaymentsOfLongTermDebt" xlink:type="arc" weight="-1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="loc_us-gaapProceedsFromIssuanceOfLongTermDebt"/> |
| | <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapProceedsFromIssuanceOfLongTermDebt" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:type="arc" weight="1"/> |
| | <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:type="arc" weight="1"/> |
| | <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/> |
| | <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc" weight="1"/> |
| | </link:calculationLink> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/BasisOfPresentation" xlink:title="00000007 - Disclosure - Basis of Presentation"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/RevenueRecognition" xlink:title="00000008 - Disclosure - Revenue Recognition"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/FairValueOfFinancialInstruments" xlink:title="00000009 - Disclosure - Fair Value of Financial Instruments"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/ForeignCurrencyTranslation" xlink:title="00000010 - Disclosure - Foreign Currency Translation"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/Inventory" xlink:title="00000011 - Disclosure - Inventory"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/FixedAssets" xlink:title="00000012 - Disclosure - Fixed Assets"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/OtherCurrentAssets" xlink:title="00000013 - Disclosure - Other Current Assets"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/Estimates" xlink:title="00000014 - Disclosure - Estimates"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/ContractsInProgress" xlink:title="00000015 - Disclosure - Contracts in Progress"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/Concentrations" xlink:title="00000016 - Disclosure - Concentrations"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/NotePayable" xlink:title="00000017 - Disclosure - Notes Payable"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/RecentAccountingPronouncements" xlink:title="00000018 - Disclosure - Recent Accounting Pronouncements"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/EarningsPerCommonShare" xlink:title="00000019 - Disclosure - Earnings Per Common Share"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/SegmentAnalysis" xlink:title="00000020 - Disclosure - Segment Analysis"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/IncomeTaxes" xlink:title="00000021 - Disclosure - Income Taxes"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/ReclassificationOfPriorYearPresentation" xlink:title="00000022 - Disclosure - Reclassification of Prior Year Presentation"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/SubsequentEvent" xlink:title="00000023 - Disclosure - Subsequent Event"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/InventoryTables" xlink:title="00000024 - Disclosure - Inventory (Tables)"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/FixedAssetsTables" xlink:title="00000025 - Disclosure - Fixed Assets (Tables)"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/OtherCurrentAssetsTables" xlink:title="00000026 - Disclosure - Other Current Assets (Tables)"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/NotePayableTables" xlink:title="00000027 - Disclosure - Notes Payable (Tables)"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/EarningsPerCommonShareTables" xlink:title="00000028 - Disclosure - Earnings Per Common Share (Tables)"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/SegmentAnalysisTables" xlink:title="00000029 - Disclosure - Segment Analysis (Tables)"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/IncomeTaxesTables" xlink:title="00000030 - Disclosure - Income Taxes (Tables)"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/RevenueRecognitionDetailsNarrative" xlink:title="00000031 - Disclosure - Revenue Recognition (Details Narrative)"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/Inventory-ScheduleOfComponentsOfInventoryDetails" xlink:title="00000032 - Disclosure - Inventory - Schedule of Components of Inventory (Details)"> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryRawMaterialsAndSupplies" xlink:label="loc_us-gaapInventoryRawMaterialsAndSupplies"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryNet" xlink:to="loc_us-gaapInventoryRawMaterialsAndSupplies" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryWorkInProcess" xlink:label="loc_us-gaapInventoryWorkInProcess"/> |
| | <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryNet" xlink:to="loc_us-gaapInventoryWorkInProcess" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryFinishedGoods" xlink:label="loc_us-gaapInventoryFinishedGoods"/> |
| | <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryNet" xlink:to="loc_us-gaapInventoryFinishedGoods" xlink:type="arc" weight="1"/> |
| | </link:calculationLink> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/FixedAssets-ScheduleOfFixedAssetsDetails" xlink:title="00000033 - Disclosure - Fixed Assets - Schedule of Fixed Assets (Details)"> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaapPropertyPlantAndEquipmentGross"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:to="loc_us-gaapPropertyPlantAndEquipmentGross" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/> |
| | <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc" weight="-1"/> |
| | </link:calculationLink> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/OtherCurrentAssets-SummaryOfOtherCurrentAssetsDetails" xlink:title="00000034 - Disclosure - Other Current Assets - Summary of Other Current Assets (Details)"> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsCurrent" xlink:label="loc_us-gaapOtherAssetsCurrent"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DepositsAssetsCurrent" xlink:label="loc_us-gaapDepositsAssetsCurrent"/> |
| | <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOtherAssetsCurrent" xlink:to="loc_us-gaapDepositsAssetsCurrent" xlink:type="arc" weight="1"/> |
| | <link:loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxesReceivable" xlink:label="loc_us-gaapIncomeTaxesReceivable"/> |
| | <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOtherAssetsCurrent" xlink:to="loc_us-gaapIncomeTaxesReceivable" xlink:type="arc" weight="1"/> |
| | </link:calculationLink> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/ContractsInProgressDetailsNarrative" xlink:title="00000035 - Disclosure - Contracts in Progress (Details Narrative)"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/ConcentrationsDetailsNarrative" xlink:title="00000036 - Disclosure - Concentrations (Details Narrative)"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/NotesPayableDetailsNarrative" xlink:title="00000037 - Disclosure - Notes Payable (Details Narrative)"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/NotesPayable-ScheduleOfNotePayableDetails" xlink:title="00000038 - Disclosure - Notes Payable - Schedule of Note Payable (Details)"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/NotesPayable-ScheduleOfNotePayableDetailsParenthetical" xlink:title="00000039 - Disclosure - Notes Payable - Schedule of Note Payable (Details) (Parenthetical)"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/EarningsPerCommonShare-ScheduleOfEarningsPerShareBasicAndDilutedDetails" xlink:title="00000040 - Disclosure - Earnings Per Common Share - Schedule of Earnings Per Share Basic and Diluted (Details)"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/SegmentAnalysisDetailsNarrative" xlink:title="00000041 - Disclosure - Segment Analysis (Details Narrative)"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/SegmentAnalysis-ScheduleOfSegmentReportingInformationDetails" xlink:title="00000042 - Disclosure - Segment Analysis - Schedule of Segment Reporting Information (Details)"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/SegmentAnalysis-ScheduleOfDisaggregateOfRevenueFromContractsForSaleWithCustomersByGeographicLocationDetails" xlink:title="00000043 - Disclosure - Segment Analysis - Schedule of Disaggregate of Revenue from Contracts for Sale with Customers by Geographic Location (Details)"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/IncomeTaxesDetailsNarrative" xlink:title="00000044 - Disclosure - Income Taxes (Details Narrative)"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/IncomeTaxes-ScheduleOfNetOperatingLossCarryforwardsDetails" xlink:title="00000045 - Disclosure - Income Taxes - Schedule of Net Operating Loss Carryforwards (Details)"/> |
| <link:calculationLink xlink:type="extended" xlink:role="http://codaoctopusgroup.com/role/SubsequentEventDetailsNarrative" xlink:title="00000046 - Disclosure - Subsequent Event (Details Narrative)"/> |
| </link:linkbase> |