Home Forums The XBRL API Does concept.id number change overtime?

Viewing 5 reply threads
  • Author
    • #124720
      Tim Bui

      To shorten the code, rather than using concept.local-name, I started to use concept.id to call for fact.values. However, I started to realize that the numbers of concept.id change depending on the CIK and the fiscal year–even though the concept.local-names are exactly the same.

      Can you please describe what drives this difference so that I can better construct the code?

      Here are some examples of different concept.ids that have the same concept.local-name:
      entity.cik period.fiscal-year concept.local-name concept.id
      0001109879 2011 IncreaseDecreaseInInventories 9049
      0000090168 2011 IncreaseDecreaseInInventories 68486
      0000027093 2011 IncreaseDecreaseInInventories 6249201
      0000812074 2012 IncreaseDecreaseInInventories 10288733
      0000110621 2014 IncreaseDecreaseInInventories 15795815
      0001122976 2013 IncreaseDecreaseInInventories 12743567
      0001421182 2015 IncreaseDecreaseInInventories 10288733
      0000811596 2016 IncreaseDecreaseInInventories 18601247
      0001524741 2017 IncreaseDecreaseInInventories 21660607
      0000004281 2018 IncreaseDecreaseInInventories 21660607

    • #126287
      David Tauriello

      Each company submits its own ‘extension taxonomy’ to the SEC – it’s essentially a cut-down version of only the US GAAP elements needed, plus any extension elements the company creates because it cannot find an existing element that adequately covers the fact(s) being reported by the extension elements.

      So, while the concept.local-name values in your list above are identical, the concept.id values will differ, because our database assigns concept.id values based on the facts as they appear in the company’s instance, not as they may relate to the US GAAP taxonomy.

      If you use concept.is-base (set as =true in the query or returned as true/false in fields) you can quickly distinguish whether the concept.id is a US GAAP element.

      • #130930
        Tim Bui

        Hi David,

        Thank you for explaining the concept.id for me. However, would you please elaborate a little more on these points so that I can gain a better understanding?

        1. On your writing, “the concept.id values will differ, because our database assigns concept.id values based on the facts as they appear in the company’s instance”, does this mean that XBRL US assigns the concept.id, the SEC assigns or the company self-assigns?

        2. Do you know if there is a relationship from one year to the next (say from 2017 to 2018 and to 2019)? or Is the number for the current year completely different from the previous year?

        I am trying to find some commonality to do comparison among companies, but it is difficult. For example, just for Total Revenue (the very top line), I went throught some 100 income statements, yes from roughtly 100 10Ks, and found there are 27 concept.id for 2017 and 16 for 2018.

        For 2017:
        2017 InvestmentIncomeInterestAndDividend 21655159
        2017 OilAndGasRevenue 18613203
        2017 RegulatedAndUnregulatedOperatingRevenue 18614810
        2017 RegulatedAndUnregulatedOperatingRevenue 21652265
        2017 RevenueFromContractWithCustomerExcludingAssessedTax 18602475
        2017 RevenueFromContractWithCustomerExcludingAssessedTax 21653976
        2017 RevenueFromContractWithCustomerIncludingAssessedTax 21654060
        2017 RevenuefromContractwithCustomersTransportationandProcessingCosts 24197257
        2017 RevenueMineralSales 15794561
        2017 RevenueOilAndGasServices 18604404
        2017 Revenues 15796345
        2017 Revenues 18605331
        2017 Revenues 21659490
        2017 RevenuesAndOtherIncome 24259790
        2017 RevenuesAndOtherIncome 24488188
        2017 RevenuesAndOtherIncome 24508761
        2017 SalesRevenueGoodsGross 18616032
        2017 SalesRevenueGoodsNet 15800900
        2017 SalesRevenueGoodsNet 18614606
        2017 SalesRevenueGoodsNetExcludingExciseAndSalesTaxes 20763215
        2017 SalesRevenueNet 15803196
        2017 SalesRevenueNet 18614636
        2017 SalesRevenueNetOfExciseTaxes 21724253
        2017 SalesRevenueServicesGross 18614619
        2017 SalesRevenueServicesNet 18614749
        2017 SellingGeneralAndAdministrativeExpense 21658596
        2017 TotalRevenuesAndOtherIncome 24421937

        For 2018:

        2018 InvestmentIncomeInterestAndDividend 21655159
        2018 RegulatedAndUnregulatedOperatingRevenue 21652265
        2018 RevenueFromContractWithCustomerExcludingAssessedTax 18602475
        2018 RevenueFromContractWithCustomerExcludingAssessedTax 21653976
        2018 RevenueFromContractWithCustomerIncludingAssessedTax 21654060
        2018 RevenuefromContractwithCustomersTransportationandProcessingCosts 24197257
        2018 Revenues 18605331
        2018 Revenues 21659490
        2018 RevenuesAndOtherIncome 24259790
        2018 RevenuesAndOtherIncome 24488188
        2018 RevenuesAndOtherIncome 24508761
        2018 SalesRevenueGoodsNet 18614606
        2018 SalesRevenueNet 18614636
        2018 SalesRevenueNetOfExciseTaxes 21724253
        2018 SalesRevenueServicesNet 18614749
        2018 SellingGeneralAndAdministrativeExpense 21658596

        As always, thank you for your help, David!


    • #130934
      Tim Bui

      By the way, David, I cannot use just one concept.name because some companies use “Revenues” as total revenue while some others use “Revenues” as part of “RevnueandOtherIncome”, and some use totally different concept.names.

      ps. I just realized I wrongly added the very last line in 2018 concept above. It’s a SG&A line.

    • #143367
      Campbell Pryde

      Just to clarify the concept id and to clear up any confusion. The concept id represents a combination of the namespace and local name. So assets in the 2019 taxonomy will have a consistent concept id number. If you request fact values based on this number you will only get the values for Assets that used the 2019 taxonomy. To get the value of Assets irrespective of the taxonomy used the use the local-name called Assets. So a term like Assets will have at least 12 different concept ids associated with it for each different taxonomy included in the underlying dataset.

      Searching on the local-name should be fast as this is indexed, but searching on concept.id will be faster as their are less records.

      Theoretically companies should not define an extension called Assets as it is already defined in the US GAAP or IFRS taxonomy. However, if they do these can be excluded by seting the is-base parameter to true. This will exclude any extension elements.

    • #175189

      I know that this is an older string, but I am running into the same issue as what was generally identified above.

      As an example, focusing on ‘Total Consolidated Revenues’ for an entity, I found that you cannot just rely on a string for under local-names.

      If you want to return revenues for a given entity; given year; and given report (i.e., FY 2019 Total Revenues for array of entities), you can help by limiting down the returns by setting dimension.count = 0 (so there are no sub-members); concept.is-monetary = True (so you get only numerical response); fact.ultimus (so you only get the ‘top’ response). You may also be able to explore embedded concept object calls within the API (i.e., dimension.local-name = ConsolidatedItemAxis) or even member.is-base = True.

      However, even with those screens I think you still have to limit down using concept.local-name. Some taxonomies tag this as ‘Revenues’; some as ‘RevenueFromContractWithCustomer’; etc.).

      I am focusing on revenues right now because for major line items (Sales, COS, Inventories, etc.) this fact would have the most variance (e.g., sales by country; sales business segment; sales by service/product/etc.).

      If anyone has any thoughts as to how you can collect a simple P&L, BS (i.e, forgoing specific entity extensions or reporting) for any given year & any given report type (10K, 10Q, etc.), please share the API construct.

      It would be a huge help!

    • #175308
      Tim Bui

      Hi Brandon,

      I am not sure this source will meet your needs, but I have been using http://www.XBRLXL.com and find the site useful for my purpose. Jim Truscott, the founder, provides Excel spreadsheet for all annual and quarterly financial statements and footnotes. All I have to do is put in a ticker and hit Data Refresh and I get all of the financial data I need. The price is extremely reasonable and the service is superior. Anytime I have a question, Jim answers back by email very quickly.


Viewing 5 reply threads
  • You must be logged in to reply to this topic.