"$schema": https://json-schema.org/draft/2020-12/schema
title: Preferential Certificate of Origin
description: A document certifying that goods meet the rules of origin requirements of a specific preferential trade agreement, entitling them to reduced or zero tariff rates.
type: object
required:
  - "@context"
  - type
  - credentialSchema
  - validTo
  - issuer
  - credentialSubject
properties:
  "@context":
    type: string
    format: uri
    description: 'Linked Data context for semantic interoperability'
    const: "https://un.opensource.unicc.org/unece/uncefact/spec-unvtd/preferential-certificate-of-origin-context.json"
  type:
    type: array
    description: 'Document types'
    items:
      type: string
      enum:
        - VerifiableCredential
        - PreferentialCertificateOfOrigin
    minItems: 2
    maxItems: 2
    example:
      - VerifiableCredential
      - PreferentialCertificateOfOrigin
  credentialSchema:
    type: object
    description: 'Reference to the credential schema for validation'
    properties:
      id:
        type: string
        format: uri
        const: "https://un.opensource.unicc.org/unece/uncefact/spec-unvtd/preferential-certificate-of-origin-schema.yaml"
        description: 'Public location of the schema'
      type:
        type: string
        const: "JsonSchema"
        description: 'Schema type identifier'
    required:
      - id
      - type
  id:
    type: string
    format: uri
    description: 'Unique identifier for the credential'
    example: "urn:uuid:f7ac82b1-3ee4-5099-9d55-3646c060380g"
  validFrom:
    example: 2025-03-06T10:00:00Z
    type: string
    format: date-time
    description: 'Credential validity start date'
  validTo:
    example: 2026-03-06T10:00:00Z
    type: string
    format: date-time
    description: 'Credential validity end date'
  issuer:
    description: 'Identifier of the competent authority issuing the preferential certificate of origin (e.g., DID)'
    type: string
    format: uri
    example: did:web:chamberofcommerce.example.com
  credentialSubject:
    description: 'Preferential certificate of origin details'
    type: object
    properties:
      certificateNumber:
        example: PCOO-2025-AU-001234
        type: string
        description: Reference number to identify a certificate of origin.
      goodsDeclarationNumber:
        example: GD-2025-AU-009876
        type: string
        description: Reference number, assigned or accepted by Customs, to identify a goods declaration.
      issueDate:
        example: '2025-03-08T00:00:00Z'
        type: string
        format: date-time
        description: Date that a document was issued and when appropriate, signed or otherwise authenticated.
      tradeAgreement:
        example: Australia-United States Free Trade Agreement (AUSFTA)
        type: string
        description: Name of the preferential trade agreement under which origin preference is claimed.
      exporter:
        description: Party who makes, or on whose behalf the export declaration is made, and who is the owner of the goods or has similar rights of disposal over them at the time when the declaration is accepted.
        type: object
        properties:
          type:
            type: string
            default: Exporter
            enum:
            - Exporter
          id:
            example: did:web:surfpro.example.com
            type: string
            format: uri
            description: A unique party identifier.
          name:
            example: SurfPro Manufacturing Inc.
            type: string
            description: Trade party name.
          street:
            example: 150 Industrial Drive
            type: string
            description: The street component of the address
          city:
            example: Gold Coast
            type: string
            description: The city component of the address
          state:
            example: QLD
            type: string
            description: The state component of the address
          zip:
            example: 4217
            type: number
            description: 'Postal code'
          country:
            example: AU
            type: string
            description: Country.
      importer:
        description: Party who makes - or on whose behalf a Customs clearing agent or other authorised person makes - an import declaration.
        type: object
        properties:
          type:
            type: string
            default: Importer
            enum:
            - Importer
          id:
            example: did:web:waveridersupplies.example.com
            type: string
            format: uri
            description: A unique party identifier.
          name:
            example: Wave Rider Supplies, Inc
            type: string
            description: Trade party name.
          street:
            example: 210 Ocean Boulevard
            type: string
            description: The street component of the address
          city:
            example: Los Angeles
            type: string
            description: The city component of the address
          state:
            example: CA
            type: string
            description: The state component of the address
          zip:
            example: 90001
            type: number
            description: 'Postal code'
          country:
            example: US
            type: string
            description: Country.
      consignee:
        description: Party to which goods are consigned.
        type: object
        properties:
          type:
            type: string
            default: Consignee
            enum:
            - Consignee
          id:
            example: did:web:waveridersupplies.example.com
            type: string
            format: uri
            description: A unique party identifier.
          name:
            example: Wave Rider Supplies, Inc
            type: string
            description: Trade party name.
          street:
            example: 210 Ocean Boulevard
            type: string
            description: The street component of the address
          city:
            example: Los Angeles
            type: string
            description: The city component of the address
          state:
            example: CA
            type: string
            description: The state component of the address
          zip:
            example: 90001
            type: number
            description: 'Postal code'
          country:
            example: US
            type: string
            description: Country.
      consignor:
        description: Party consigning goods as stipulated in the transport contract by the party ordering transport.
        type: object
        properties:
          type:
            type: string
            default: Consignor
            enum:
            - Consignor
          id:
            example: did:web:surfpro.example.com
            type: string
            format: uri
            description: A unique party identifier.
          name:
            example: SurfPro Manufacturing Inc.
            type: string
            description: Trade party name.
          street:
            example: 150 Industrial Drive
            type: string
            description: The street component of the address
          city:
            example: Gold Coast
            type: string
            description: The city component of the address
          state:
            example: QLD
            type: string
            description: The state component of the address
          zip:
            example: 4217
            type: number
            description: 'Postal code'
          country:
            example: AU
            type: string
            description: Country.
      placeOfIssue:
        description: Location where a document was issued and when appropriate, signed or otherwise authenticated.
        type: object
        properties:
          city:
            example: Barton
            type: string
            description: City where issued
          state:
            example: ACT
            type: string
            description: State where issued
          country:
            example: AU
            type: string
            description: Country where issued
      placeOfDeparture:
        description: Name of the port, airport or other type of location from which a means of transport is scheduled to depart or has departed.
        type: object
        properties:
          name:
            example: Port of Brisbane
            type: string
            description: Location name
          city:
            example: Brisbane
            type: string
            description: City
          state:
            example: QLD
            type: string
            description: State
          country:
            example: AU
            type: string
            description: Country
          unlocode:
            example: https://service.unece.org/trade/locode/au.htm#AUBNE
            type: string
            format: uri
            description: UN/LOCODE identifier
      originCountry:
        description: Name of the country in which the goods have been produced or manufactured, according to criteria laid down for the application of preferential treatment.
        type: object
        properties:
          country:
            example: AU
            type: string
            description: ISO country code
          name:
            example: Australia
            type: string
            description: Country name
      destinationCountry:
        description: Country to which a consignment of goods is to be or has been delivered.
        type: object
        properties:
          country:
            example: US
            type: string
            description: ISO country code
          name:
            example: United States of America
            type: string
            description: Country name
      transportContractNumber:
        example: BKG123456789
        type: string
        description: Reference number to identify a document evidencing a transport contract.
      invoiceNumber:
        example: INV-2025-031-001
        type: string
        description: Reference number to identify an invoice.
      contractNumber:
        example: CTR-2025-SURF-001
        type: string
        description: Identifier of a contract concluded between parties.
      issuingAuthority:
        description: Name, signature and seal of the party issuing the preferential certificate of origin.
        type: object
        properties:
          name:
            example: Australian Chamber of Commerce and Industry
            type: string
            description: Name of the issuing authority.
          street:
            example: 24 Brisbane Avenue
            type: string
            description: Street address.
          city:
            example: Barton
            type: string
            description: City.
          state:
            example: ACT
            type: string
            description: State.
          country:
            example: AU
            type: string
            description: Country.
      competentAuthority:
        description: Name, address, national seal/stamp and country of the management or competent authority overseeing origin certification.
        type: object
        properties:
          name:
            example: Department of Foreign Affairs and Trade
            type: string
            description: Name of the competent authority.
          country:
            example: AU
            type: string
            description: Country of the competent authority.
      numberOfPackages:
        example: 18
        type: number
        description: Total number of packages in the consignment.
      certification:
        example: "The undersigned hereby certifies, to the best of our knowledge and belief, that the goods listed in this certificate originate in Australia and meet the rules of origin requirements of the Australia-United States Free Trade Agreement"
        type: string
        description: Text of official certification.
      authentication:
        example: "Certified and stamped by the Australian Chamber of Commerce and Industry"
        type: string
        description: Proof that a document has been authenticated.
      goods:
        description: 'Goods covered by the preferential certificate of origin'
        type: array
        items:
          type: object
          properties:
            description:
              example: Professional Longboard - Ocean Series, 9'6" length
              type: string
              description: Plain language description of the nature of a goods item.
            hsCode:
              example: "950630"
              type: string
              description: Code specifying a type of goods for Customs purposes.
            originCriteria:
              example: WO
              type: string
              description: "Code identifying the rule of origin criterion satisfied for this goods item under the applicable trade agreement (e.g. WO = Wholly Obtained, PE = Produced Exclusively from originating materials, PSR = Product Specific Rule)."
            quantity:
              description: 'Number of units'
              type: object
              properties:
                amount:
                  example: 25
                  type: number
                  description: 'Quantity amount'
                unit:
                  example: Units
                  type: string
                  description: 'Unit of measure'
            netWeight:
              description: Total net weight of the goods.
              type: object
              properties:
                amount:
                  example: 187.5
                  type: number
                  format: float
                  description: 'Weight amount'
                unit:
                  example: KGS
                  type: string
                  description: 'Weight unit'
            grossWeight:
              description: Total gross weight including packaging.
              type: object
              properties:
                amount:
                  example: 200.0
                  type: number
                  format: float
                  description: 'Weight amount'
                unit:
                  example: KGS
                  type: string
                  description: 'Weight unit'
            value:
              description: 'Value of the goods'
              type: object
              properties:
                amount:
                  example: 18750.00
                  type: number
                  format: float
                  description: 'Monetary amount'
                currency:
                  example: USD
                  type: string
                  description: 'Currency code'
            countryOfOrigin:
              example: AU
              type: string
              description: Country where the goods were produced or manufactured.
          description: A specific goods item covered by the preferential certificate of origin.
    required:
      - certificateNumber
      - goodsDeclarationNumber
      - issueDate
      - tradeAgreement
      - exporter
      - originCountry
      - issuingAuthority
      - competentAuthority
      - numberOfPackages
      - goods
