Home Forums The XBRL API Extraction and Interpretation of Operating Lease Data

Viewing 3 reply threads
  • Author
    Posts
    • #179419
      Teji Abraham
      Participant

      Hi David,
      Hope you are keeping well. I had a few questions regarding the extraction and interpretation of Operating Lease related data:
      1) Is there possibility of a time delay between the filing of 10-K/10-Q and when Operating Lease data is available on an xbrl-API endpoint. (we encountered this with WMT on the day 10-K was released. When we tried again after a week the data was there).

      If is a typical occurrence, is there a way by which we can ascertain if the lack of data is bcos of a delay VS the entity not having any Operating Lease disclosure requirement ?

      2) In a prior post, you had pointed out about using fact.has-dimensions=false to return non-dimensional values. However, there are cases where setting has-dimensions as false does not return any operating lease related data (for e.g. GM, cik=0001467858). In this context,
      – How do we get operating lease related data (OperatingLeaseLiability, OperatingLeaseLiabilityNoncurrent, OperatingLeaseLiabilityCurrent, OperatingLeaseRightOfUseAsset)
      – And how do we select the correct dimension for the consolidated lease data for the entity – because some of the above facts return multiple values
      – Is there a xbrl document that explains how to interpret the different dimensions for various concepts.

      3) Are there alternative way of extracting the above op. lease related facts when the entity does not disclose during interim intervals (ie quarterly). For e.g. when we try to extract Op. Lease data for GM for 2020 Q1 – we are not getting any values for OperatingLeaseLiability, OperatingLeaseLiabilityNoncurrent, OperatingLeaseLiabilityCurrent. Not sure if this is another case of a delay OR some other reason.

      Thanks much, Teji

    • #181112
      David Tauriello
      Keymaster

      Teji – apologies for the delayed response; I hope you are well.

      1) there may be occasions where we’re more than a few minutes behind the SEC: the end of filing periods are rich with reports that have grown in complexity because filers are becoming smarter about using XBRL and the SEC has expanded its program to allow more sophisticated configurations. In addition to being copied to our database, each filing scanned with multiple data quality rulesets (see the /assertion endpoint).

      2) can you share the specific report.id where this issue is occurring – ? – it would be helpful to know the context for the data in the complete filing

      3) Have you tried using 1H and Q2, then subtracting to get Q1 – ? (there’s also a 3QCUM fiscal period that you might be able to use to ‘back into’ quarterly values).

    • #181308
      Teji Abraham
      Participant

      No worries. Thank you David for the response and the clarifications.

      1) Sounds good

      2) “report.id”: 269648 is an example. There are several others as well but I have not kept track. In this report, only OperatingLeaseLiabilityNoncurrent is returned when specifying fact.has-dimensions=false
      To obtain the other Operating Lease facts, we had to set fact.has-dimensions=true

      3) I haven’t tried 1H and Q2 — but I heard back from investor relations at a couple of companies that starting in 2020 – they have decided to report Op Lease facts in the interim quarters only if there are material changes.

      Thanks again. Teji

      • #182490
        David Tauriello
        Keymaster

        Hi Teji –

        When you set dimensions to true (or leave the filter off, in the case of GM and the concepts you shared) and include dimension.local-name and member.local-name in the fields returned, you can learn more about the structure of the OperatingLease facts:

        https://api.xbrl.us/api/v1/fact/search?entity.cik=0001467858&concept.local-name=OperatingLeaseLiability,OperatingLeaseLiabilityNoncurrent,OperatingLeaseLiability
        Current,OperatingLeaseRightOfUseAsset&fact.ultimus=true&fields=report.sec-url,entity.name.sort,report.filing-date.sort(DESC),period.fiscal-year.sort(DESC),period.fiscal-period.sort(DESC),concept.local-name,fact.has-dimensions,dimensions.count,dimension.local-name.sort(DESC),member.local-name.sort(DESC),fact.value,fact.ultimus-index,dts.id

        If you’re looking for more information, you can use the relationship endpoint to learn where in the report the underlying detail for the facts appear in the presentation (network.role-description):

        https://api.xbrl.us/api/v1/relationship/search?dts.id=384701,364091,347365,334440,324699&
        relationship.target-name=MajorPropertyClassAxis,BalanceSheetLocationAxis,
        VehiclesMember,AccruedLiabilitiesMember,OtherAssetsMember,
        OtherLiabilitiesMember&network.link-name=presentationLink&
        fields=dts.id.sort(DESC),relationship.id,relationship.target-name.sort(ASC),network.role-description.sort(ASC),
        relationship.source-name,relationship.tree-sequence.sort(ASC)

        NOTE: if you put the first query above in Google Sheet cell A1 in showData=(), then drop this formula in A22 or lower, it might help to see how these are related.

        =showData(CONCATENATE("https://api.xbrl.us/api/v1/relationship/
        search?dts.id=", TEXTJOIN(",", TRUE, UNIQUE(A2:A19)) ,
        "&relationship.target-name=", TEXTJOIN(",", TRUE, UNIQUE(H2:H19)), 
        ",", TEXTJOIN(",", TRUE, UNIQUE(I2:I19)), "
        &network.link-name=presentationLink&fields=dts.id.sort(DESC),
        relationship.id,relationship.target-name.sort(ASC),
        network.role-description.sort(ASC),relationship.source-name,
        relationship.tree-sequence.sort(ASC),concept.local-name"))

        This is for demonstration purposes only 🙂 – keep in mind the axis/member relationship of the first query is not preserved in the second, so some of the results in the second may not be appropriate.

    • #183409
      Teji Abraham
      Participant

      Thanks David – much appreciate the clarifications.
      Best regards, Teji

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

Comment