This section of the DDEX Knowledge Base contains Version 1.3 of the Architecture of the Flat File Variant of the Digital Sales Reporting Message Suite Standard
The Flat File Variant is intended to provide a format for reporting information about the level of usage, revenue or sales generated from the exploitation of Releases and Resources for companies that do not wish to handle XML-formatted sales/usage reports.
This Part defines the architecture of the Flat File Variant of the Digital Sales Reporting Message Suite Standard. Specific Sales Report Messages, for well-defined Profiles, are defined in separate DDEX standards.
Clause 7 then provides information on how to communicate sales/usage reports for different Profiles in accordance with this standard. Finally, defines how to transmit a Flat File Sales Reporting Message using SFTP.
Version 1.2 of the Architecture for the Digital Sales Reporting Message Suite Standard allows sender and recipients to agree a different file size limit than defined in this standard. Version 1.2 also makes handling of secondary delimiters easier.
Version 1.3 of the Architecture for the Digital Sales Reporting Message Suite Standard provides support for two additional profiles: the Profile for Financial Reporting to Record Companies and the Masterlist Profile. Version 1.3 also enhances the use of delimiters by allowing the communication of nested lists in one Cell (e.g. for multiple identifiers for multiple writers of a work).
3 Normative References
The following normative documents contain provisions, which through reference in this text constitute provisions of this standard. For dated references, subsequent amendments to, or revisions of, any of these publications do not apply. For undated references, the latest version applies.
- DDEX Data Dictionary Standard. Latest Version
- DDEX Party Identifier (DPID) Standard. Latest Version
- DDEX, Digital Sales Reporting Message Suite Standard - Part 8: Record Type Definitions
- IETF. RfC2026. SSH File Transfer Protocol. October 2001
- IFPI. Global Release Identifier (GRid) Standard. Latest Version
- ISO 639-1:2002. Codes for the representation of names of languages — Part 1: Alpha-2 code. 2002
- ISO 3166-1:1997. Codes for the representation of names of countries and their subdivisions – Part 1: Country codes. 1997
- ISO 3901:2001. Information and documentation – International Standard Recording Code (ISRC). 2001
- ISO 4217:2001. Codes for the representation of currencies and funds. Latest Version
- ISO 8601: Data elements and interchange formats – Information interchange – Representation of dates and times. Latest Version
- ISO 15707:2001. Information and documentation -- International Standard Musical Work Code (ISWC). 2001
- ISO/IEC 10646, Information technology — Universal multiple-octet coded character set (UCS). Latest Version
4 Terms and Abbreviations
A group of Records in a Message created in accordance with a flat-file standard that communicate information that belongs intrinsically together. All Records in a Block carry the same Block Identifier and all Records with the same Record Identifier belong to the same Block. The identifier of a Block shall be unique within a Sales Report Message created in accordance with this standard.
All Records of a Block are contiguously provided within a Message.
In the DSR Standard Blocks comprise the description of a “head” Release or Resource, its constituent Resource(s), any Releases that were created by the Message Sender based on the head Release (including single-track Releases), plus any associated Usage, Revenue or Sales Records. A Block collates all Records within a report created in accordance with this standard that describe all Usage, Revenue or Sales of the “head” Release and its constituent parts or “head” Resource (notwithstanding summary Records and information contained in the header record,
An individual data element in a Record. Cells are separated by Delimiters.
An entity in a DDEX Message that has the technical cardinality of 0-1 or 0-n but that is mandatory when a DDEX message is sent in a specific commercial context.
Contractually Mandatory fields may, however, be mandatory when a DDEX message is sent in a specific commercial context. In such circumstances, a message is deemed conformant only if and when it contains all the “contractually mandatory” fields as agreed by Message Sender and Message Recipient.
A character that delineates, in a flat file, either one Record from another Record or one Cell from another Cell.
Note: there are also Secondary Delimiters used in this standard.
Flat File Sales Report Messages (DSRF)
A Sales Report Message created in accordance with the Digital Sales Reporting Message Suite Standards (Architecture and Profiles). A Flat File Sales Report Message may be split into several individual files.
A Release, originally communicated by the owner (or its agent) of a sound recording or audio-visual recording to a Licensee who then distributed that Release to consumers, whose Usage, Revenue or Sales are described in a Sales Report Message created in accordance with this standard.
A Resource whose Usage, Revenue or Sales are described in a Sales Report Message created in accordance with this standard. Head Resources are not communicated as part of a Head Release.
A Party that is granted a Licence in respect of rights in one or more Creations, by a Licensor. The Licensee may be a human being or other legal person or corporate entity. The Licensee may or may not be the Message Sender or Message Recipient of a message in a specific information exchange defined by a DDEX Standard.
A Party that grants a Licence in respect of rights in one or more Creations to one or more Licensees in accordance with the authorities it has been granted to do so by one or more Rights Controller(s), Rights Administrator(s) (where applicable), Licensing Agent(s) (where applicable) or Rights Holder(s). The Licensor may be a human being or other legal person or corporate entity. The Licensor may or may not also be the Rights Controller, the Rights Administrator, the Licensing Agent or the Rights Holder in the Creation(s) that are the subject of the Licence granting the rights. The Licensor may or may not be the Message Sender or Message Recipient of a message in a specific information exchange defined by a DDEX Standard.
A variant of a Sales/Usage report in accordance with this standard where descriptive metadata and sales/usage figures are provided in Blocks of (usually) comprising multiple Records. Multi-Record-Block Variant is the default variant for sales/usage reports in accordance with this standard.
A Work intended to be perceivable as a combination of sounds, with or without accompanying text.
Any words that are intended to be expressed with a MusicalWork (often termed Lyrics) form part of that MusicalWork; not all MusicalWorks have Lyrics.
A MusicalWork may be expressed and fixed to become part of a SoundRecording or a Video Recording, or may be used to create notated music (sheet music, scores, instrumental parts) or sound generation codes (such as MIDI files).
In some cases, the MusicalWork comes into existence simultaneously with its expression. This is common in extemporised forms such as jazz music.
The process of a Licensor replying with a Claim Detail Message (or equivalent) to a Sales Report Message (or equivalent) from a Licensee with financial details. This is also referred to as "post-claim reporting".
The process of a Licensor replying with a Claim Detail Message (or equivalent) to a Sales Report Message (or equivalent) from a Licensee without any financial details (usually in the form of a Sales Report Message in accordance with the Masterlist Profile). This is also referred to as "pre-claim reporting".
A subset of a DDEX standard. Profiles define how to use the capabilities of a DDEX standard in a specific commercial context.
A Release is an abstract entity representing a bundle of one or more Resources compiled by an Issuer. The Resources in Releases are normally primarily sound recordings or music audio-visual recordings, but this is not invariably the case. The Release is not itself the item of trade (or “Product”). Products have more extensive attributes than Releases; one Release may be disseminated in many different Products.
A digital fixation of an expression of an abstract Work (such as a sound recording, a video, an image, software or a passage of text). Resources are individual assets that make up a Release. Typical Resources are sound recordings, video clips and cover art images.
The amount of money generated in accordance with the commercial relationship between Licensee and Licensor for the distribution of Releases to consumers.
A Party that controls rights in one or more Creations in respect of some or all rights for specific territories, time periods, Rights Types, Usage Types and Commercial Model Types (which may be anything up to and including all rights for the world, in perpetuity, for all types of Usage and for all types of Commercial Models). Creations include Musical Works, Sound Recordings and other Resources as well as Releases.
A Rights Controller is in many cases also the Licensor.
A Rights Controller may be a human being or other legal person or corporate entity.
A Rights Controller may or may not also be the Rights Administrator, the Licensing Agent or the Rights Holder.
A Rights Controller may or may not be the Message Sender or Message Recipient of a message in a specific information exchange defined by a DDEX Standard.
Distribution of a product to end consumers. For the avoidance of doubt, the term “sales” includes all forms of distribution of products, whether revenue was generated, or not and, where revenue is generated, regardless of the business model used to do so.
Sales/Usage Report Message
See Flat File Sales Report Messages (DSRF).
The combination of one territory, one currency, one use types, one commercial model types, one subscriber type and one service description for which a sales/usage report is being created. It is permissible, subject to both parties agreeing, to communicate multiple Sales Contexts in one sales/usage report.
Delimiter used to separate data elements within a single Cell.
A variant of a Sales/Usage report in accordance with this standard where all descriptive metadata as well as sales/usage figures for each sales "line" into a single Record. Each Single-Record-Block Variant has been derived from a Multi-Record Block Variant by collapsing Blocks into single
SRxx Records. The base Multi-Record Block Variant does not have to be published as a DDEX standard.
A Release that is being created from one or more of the primary Resources of a Head Release, typically by the Message Sender.
For the purpose of this standard these Sub-Releases are being created by the Message Sender who is making Releases, and tracks from such Releases, available to consumers. These “unbundled tracks”, that is, all the tracks from a Release each made available separately, are the simplest form of Sub-Releases.
The identification of the Releases and Resources that actually get exploited by Licensees exercising a range of business and delivery models for the distribution of Releases to consumers, including the amount of use of each Release or Resource.
|AMEP||Automated Message Exchange Protocol|
|ACA||Appointed Certification Agency|
|AVS||Allowed Value Set|
|BWARM||Bulk Communication of Work and Recording Metadata|
Confédération internationale des sociétés d'auteurs et compositeurs, the International Confederation of Societies of Authors and Composers (see cisac.org)
|DAW||Digital Audio Workstation|
Digital Data Exchange
|DSP||Digital Service Provider (incudes Mobile Service Providers)|
|DSR||Digital Sales Reporting|
|ERN||Electronic Release Notification|
|FTP||File Transfer Protocol (FTP specifically includes SFTP)|
|GRid||Global Release Identifier|
|HTTP||Hypertext Transport Protocol (HTTP specifically includes HTTPS)|
|HTTPS||Secure Hypertext Transport Protocol|
|IEC||International Electrotechnical Commission (see iec.ch)|
|ISO||International Organisation for Standardisation (see iso.org)|
|MEAD||Media Enrichment And Description|
|MIME||Multipurpose Internet Mail Extensions|
|MWL||Musical Works Licensing|
|MWN||Musical Works Notification|
|PCA||Private Certification Agency|
|Portable Document Format|
|RIN||Recording Information Notification|
|TIS||Territory Information System (a CISAC Standard)|
|TLS||Transport Layer Security|
|URL||Uniform Resource Locator|
|XML||eXtensible Markup Language|
|XSD||XML Schema Definition|
|W3C||World Wide Web Consortium (see w3c.org)|
The use of the Acknowledgement Message as defined in this standard is optional and the invoice message, although shown in Figure 1 and Table 1 is not defined in this standard.
Figure 1 – Choreography of the Flat File Variant of the Digital Sales Reporting Message Suite Standard
Table 1 – Messages in the Flat File Variant of the Digital Sales Reporting Message Suite Standard
|Message Name||Initiating Event||Sender||Recipient|
Sales Report Message
Usage or sale of Releases, and/or the generation of revenues related to the usage or sale of Releases
Licensee, typically a DSP
Works Licensor (typically a Music Rights Society or Licensor) or Release Creator, typically a Record Company or Music Licensing Company
Acknowledgement Message (optional)
Automated acknowledgement of receipt of a Sales Report Message file; the acknowledgement message does not acknowledge the validity or quality of the Sales Report Message file(s) received.
This message is optional.
If a Sales Report is communicated in multiple files, one Acknowledgement Message should be sent for each file.
Note: such acknowledgements can be transactional (e.g. to signal that the message has been received), technical (e.g. to signal that the file is invalid) or "semantic" (e.g. to signal that the Message Recipient can read the received message but that the data violates some consistency checks or business rules agreed between Message Sender and Message Recipient.
Works Licensor (typically a Music Rights Society or Music Publisher) or Release Creator, typically a Record Company or Music Licensing Company
Licensee (typically a DSP)
Invoice Message (out of scope)
Invoice in reply to the Sales Report Message; the invoice message is out of scope for this standard.
Works Licensor (typically a Music Rights Society or Licensor) or Release Creator, typically a Record Company or Music Licensing Company
Licensee (typically a DSP)
Note that the Record Types of the Sales Report Message are defined in two places: Common Record Types are defined in this standard whereas all other Record Types are defined in separate standards.
In some cases, a Message Sender may be required to send multiple Sales Report Messages to a specific Message Recipient. Examples include the provision of summary reports and detailed Sales Report Messages covering the same sales transactions.
In that case these Sales Report Messages are considered independent from each other and shall each be communicated in accordance with the choreography defined in Clause 5.1.
This Clause contains the specification for the messages in the Flat File Variant of the Digital Sales Reporting Message Suite.
- Exactly one header Record of type
HEADas defined in Part 8 of this standard.;
- One or more Records in accordance with the relevant Profile Standard that provide summary information about the transactions listed in item 3 below ;
- None, one or more Blocks of Records in accordance to the relevant Profile Standard that provide detailed information about transacted Releases/Resources/Works and the Usage, Revenue or Sales of such transacted Releases/Resources/Works; and
- Exactly one Footer Record of type
FOOTas defined in Part 8 of this standard.
This structure is shown in the Figure 2 (note: the indentation is for illustration purposes only).
Figure 2 – Overall structure of a Sales/Usage Report Message created in accordance with this standard
It is permissible to send a Sales Report Message with just a header Record of type
HEAD and a Footer Record of type
FOOT and no other Records. This would indicate that no Usage, Revenue or Sales are being reported.
- All files shall start with a header record of type
HEADas defined in Part 8 of this standard. Some data in some of the Cells in the header record will vary between the various files;
- All files shall have the same set of Summary Records containing summary information for the entire multi-file Sales Report Message (for the avoidance of doubt: the sets in the various files shall all contain the same data);
- All files shall have one or more Blocks;
- All files shall end with a footer record of type
FOOTas defined in Part 8 of this standard. Some data in some of the Cells in the footer record will vary between the various files.
Blocks may not be split between files and may not be repeated in different files of the same Sales Report Message.
The last file can be determined in the
HEAD record by comparing the
This structure is shown in the diagram below (note: the indentation and spacing is for illustration purposes only).
Figure 3 – Overall structure of a Multi-file Sales/Usage Report Message in accordance with this standard
The main portion of a Sales Report Messages created in accordance with this standard is organised in Blocks. Each Block contains all the information about the “item of trade” that allows the Message Recipient to identify the content used, followed by the usage, revenue or sales information.
All Records of a Block are contiguously provided in the Sales Report Message created in accordance with this standard; it is not permitted to "interlace" Blocks.
BlockIDCell. The first Block in the Sales Report Messages shall have a
BlockIDcontaining the value 1, the next Block shall have a
BlockIDcontaining the value 2, etc.
This mechanism allows all Records in a Block to be associated with one another. If, for instance, a Block contains a Head Release, a number or Resources and a few Sub-Releases, the
BlockID can be used to link the Sub-Releases to the Head Release. Together with the
ReleaseRecord Cell, the
BlockID also allows to unambiguously link a Sub-Release to its containing Resources.
ResourceReferenceCell) of the used Release (or Resource) in the
TransactedResourceCell) of a Sales/Usage Record.
SummaryRecordIdCell that Usage/Revenue/Sales Records can point to. Figure 4 shows an excerpt from a Sales Report Message in which two different types of exploitation (see Clause 6.5 for details) are being reported with respect to two different Releases (reported in Records of Type
Figure 4 – Linking Blocks to Summary Records (Example)
 In some profiles it may be valid to send Blocks without any such Records.
A Sales Report Message created in accordance with this standard may contain data relating to multiple territories, multiple currencies, multiple use types and multiple commercial model types as well as different service descriptions (collectively sometimes referred to as the sales context).
Where more than one sales context is reported in a single Sales Report Message, Message Sender and Message Recipient both must agree how this is managed. Specifically, if either Message Sender or Message Recipient is unable to either create or ingest such multi-featured Sales Report Messages, it is not permitted to use that approach. In that case only one sales context, which would either be evident from the relevant Summary Record or agreed between Sender and Recipient, shall be contained in a Sales Report Message.
The Sales Report Messages defined in this standard are delimiter-separated values text files. Further details are provided below.
The Sales Report Messages defined in this standard are coded using UTF-8 with a big endian byte ordering.
184.108.40.206 Record Delimiter
Each Record is being placed into one line terminated by a line feed (Unicode U+000A) or a carriage return and line feed pair (Unicode U+000D 000A).
220.127.116.11 Primary (Cell) Delimiter
Cells within a Record are separated by tab characters (Unicode U+0009).
18.104.22.168 Secondary Delimiter
Should a Cell contain two or more data elements, these data elements shall be separated by a pipe character (Unicode U+007C). This is referred to as a Secondary Delimiter.
All data elements in a multi-value Cell shall be of the same primitive data type.
22.214.171.124 Namespace Delimiter
Should a Cell contain a data element whose providence needs to be provided, the data element shall be preceded by a string that provides a "namespace" and two colon characters (Unicode U+003A). The double colon is referred to as a Namespace Delimiter.
Examples include specifically identifiers where, e.g., a party ID can be communicated as "
ISNI::0000000081266409", indicating that the identifier (0000000081266409) is an International Standard Name Identifier (ISNI).
126.96.36.199 Spaces and Delimiters (I)
Delimiters shall not be surrounded by extra space characters. The same principle applies to the Secondary Delimiter.
Example: The writer pair Lennon/McCartney should be communicated as "
Lennon|McCartney" and not as "
Lennon | McCartney".
188.8.131.52 Spaces and Delimiters (II)
If a Message Sender has received data with extra white spaces, they are encouraged to trim any such extra white space characters when compiling a Sales/Usage Report. They may, however, also use the data with these extra white space characters in such cases. The same principle applies to the Secondary Delimiter.
Example: When the Message Sender received Lennon as “Lennon “ and McCartney as “McCartney “, then the writer pair may be communicated as “
Lennon |McCartney “).
To escape a tab character contained in a text string, the escaping code is the backslash character (Unicode U+005C). Therefore the string A[TAB]B would have to be communicated as
[TAB] representing the tabulator).
To escape a pipe character contained in a text string, the escaping code is a double backslash character (Unicode U+005C). Therefore the string A|B would have to be communicated as
To communicate a backslash character, three backslash characters need to be communicated. Therefore the string A\B would have to be communicated as
This “escaping mechanism” must be used for all special characters in all Cells, whether those Cells allow multiple values or not. A non-escaped pipe character in a single-value cell is, consequently, an error.
For the avoidance of doubt, escaping a character that should not be escaped, or not escaping a character that should have been escaped, will lead to an invalid sales/usage report.
Table 2 – Primitive Data Types
A sequence of characters with a length of at least one character. This standard does not define a maximum length. Strings may not contain non-printable characters (Unicode U+0000 to U+001F).
A string containing either “true” or “false”
A sequence of digits to represent positive or negative integer numbers, or zero.
Details on the range of integers are provided in Clause 6.6.11.
A sequence of digits to represent positive or negative integer numbers, positive or negative decimal fractions or zero.
The character used to separate the integers from fractions is the dot (“.”, Unicode U+002E).
Thousands separators or any other digit grouping shall not be used.
Multiple trailing “0” should not be used, so the value 5.5 should not be represented as “5.50” or “5.5000”.
Details on the precision of decimals are provided in Clause 6.6.11.
Note, this was referred to as "float" in previous versions.
A date in the ISO 6801 format to indicate a single year (YYYY), month (YYYY-MM) or day (YYYY-MM-DD).
A duration in the ISO 6801 format (P[nY][nM][nD][T[nH][nM]nS]).
Elements including their designator may be omitted if their value is zero.
Note that the expressions “PT3M2S” (three minutes and two seconds) and “PT182S” (182 seconds) are both permitted and are equivalent.
|PartyID||A string in the form IdType::ID where IdType identifies the identification scheme. Examples are ISNI for an ISO 27729 International Standard Name Identifietr, IPI for a CISAC Interested Party Identifier or IPN for a SCAPR International Performer Number. The ID element then contains the identifier in the format defined by the Identificaiton scheme. Only one identifier can be communicated for each party in a PartyID field.||ISNI::0000000081266409|
DDEX Party ID
A string of 18 characters in accordance with the DDEX Party ID standard.
Note that the DDEX Party ID standard defines that DDEX Party IDs do not contain dashes in computer-to-computer communications. Therefore, DDEX Party IDs, when included in a Sales Report Message, shall not contain dashes.
A sequence of 0-n strings in accordance with a defined data type separated by Secondary Delimiters.
If the Message Sender has only one data item to provide, the value shall be included without any Secondary Delimiters. The same applies to cases where the Message Sender has multiple data elements but only wishes to communicate one in accordance with the bilateral agreement between Message Sender an Message Recipient.
If the cardinality of such an element is "M", at least one such data item must be provided.
Cells that may contain multiple values may be related related. For example one Multiple-String Cell may be for names of composers/lyricists and it may be followed by a Multiple-String Cell for identifiers of these composers/lyricists. In those cases, both Cells must contain the same number of Secondary Delimiters and there may only be 0-1 data items between the Secondary Delimiters.
The same concept can also be used for all other primitive data types listed above.
"12" or "12|54|123" or "12||123" (without the quotes)
|Multiple Multiple String|
In order to communicate a list of lists, the delimiter for the inner list shall be escaped to
One such example is the provision of identifiers for writers of a Musical Work, e.g. to provide
- All files shall carry the header Record(s) defined in Part 8 of this standard; and
- All files shall carry the footer Record(s) defined in Part 8 of this standard.
It is not permissible to split a Block. Therefore, a Block will always be in a single file.
It is not permitted to split a file in accordance with a Single Record Block Variant.
It is possible to communicate empty Cells. In that case, two tab characters shall follow each other with no characters in-between.
The semantics of an empty cell is determined by the commercial relationship between Message Sender and Message Recipient, unless specifically defined in this standard.
A company receiving a file with a Record containing information identified by an unknown Record Type Indicator may ignore such Records.
Implementers are reminded that some accounting applications may only be able to handle six, or even four, decimal places.
When a field of type “decimal” is to communicate an integer, the number may be represented with a trailing decimal point, a trailing “.0” or with no trailing characters. For example, the number five can be represented as “5”, “5.” for “5.0”.
When the number 0 (zero) is to be communicated in a Cell for decimal values, this shall be represented as
0 (and not
While some Cells have an inherent length limitation (e.g. the Record Type Indicators are limited to four characters), other Cells have no length limitation.
Note: this has an implication for developers using databases with field length limitations. Such developers will be forced to shorten fields if the data received exceeds their databases’ capabilities.
To override a DDEX-defined value, the DDEX-defined value “
UserDefined” shall be used, followed by single space character and a string representing the term to be communicated. This string shall only comprise lower case letters, upper case letters or digits, e.g.
Such user-defined values will need to be agreed between Message Sender and Message Recipient and users are encouraged to raise these issues with DDEX (e.g. via http://www.ddex.net/implementers-forum) with a view to having these values added to the list of DDEX-defined allowed values.
ReleaseReferenceCell in the Records describing Releases and
ResourceReferencein Records describing Resources. These references must be unique within the Block they appear in. As a consequence, the combination of a Record’s
BlockIdand reference is unique within a Sales Report Message created in accordance with this standard.
To allow linking Usage/Revenue/Sales Records to the Summary Record they contribute, all Summary Records and Usage/Revenue/Sales Records contain a
Some records, such as the
SalesTransactionID in the Sales/Usage Records need to be referenced from other messages such as an invoice message. In that case the combination of MessageId (as communicated in the
BlockId and reference are globally unique.
Other than references to a summary Summary Record, all references shall be pointing to a Record in the same Block.
When choosing a reference, users are strongly recommended to limit themselves to letters and digits, i.e. A-Z, a-z and 0-9.
3.2, shall be communicated in the Header Record
HEADin accordance with Clause 5.1.1 of Part 8 (even if the version of the architecture part of this standard is 1.2).
It is therefore recommended, for each Record Type used in a Sales Report Message created in accordance with this standard, to include a Record that provide Cell “headings” for that Record once. The first Cell of such Records is populated with the relevant Record Type and shall be preceded by a hash symbol (“#”) in accordance with Clause 6.6.9 and as shown in Figure 4 in blue.
Note, that if such headings are over-used and/or repeated too often, they could unnecessarily inflate the file size (especially for large Sales Report Messages).
Figure 5 – Human readable layout of a Sales Report Message
Figure 5 shows the Sales Report Message loaded into a spreadsheet application, with some rows coloured to aid readability.
- One Header Record (
HEAD) in accordance with Part 8 of this standard;
- One or more summary records in accordance with the relevant Profile. The number of summary records would depend on the contractual relationship between Licensor and licensee (see below).
- No Record to describe Usages, Revenues or Sales; and
- One Footer Record (
FOOT) in accordance with Part 8 of this standard.
If the "empty" sales/usage report is the first report ever sent from licensee to Licensor, it is recommended that one summary record is provided for each sales/usage context that the licensee is licensed for by the Licensor. Licensee and Licensor may, however, agree a different approach.
For an "empty" sales/usage report following a non-"empty" sales/usage report, it is recommended to provide a summary record for each of the contexts provided in the preceding sales/usage report. Licensee and Licensor may, however, agree a different approach.
The image below shows such an empty sales/usage report:
Figure 6 – "Empty" Sales/Usage Report.
8 Transfer of Sales Report Messages
The Party Name or DDEX Party ID (DPID) of the Message Recipient.
The MessageRecipient may be omitted if the Sales Report Message is sent to more than one recipient. This information shall be the same as the information conveyed in the file Header (
The Party Name or DDEX Party ID (DPID) of the
This information shall be the same as the information conveyed in the appropriate Record. Note: DDEX Party IDs do not contain special characters.
A description of the service name (e.g. a service tier) to be reported on. Multiple tiers can be communicated by separating them with dashes.
This information shall be the same as the information conveyed in the file Header (
The reporting Period covered by the Message in accordance with ISO 8601:2004. The only allowed syntaxes are:
The territory for which the Usage, Revenue or Sale transactions in this message are reported.
The TerritoryOfUseOrSale shall be provided as a single ISO Territory Code if one territory is to be communicated. Otherwise, the MessageSender and MessageRecipient(s) shall agree a value acceptable to both/all.
The file counter.
For example, the 7th file of a 9-file Sales Report Message would be
The date and time on which the Message was created (the only allowed format is the full basic ISO 8601:2004 format without a time zone designator:
The file extension, to be “
The following constraints apply:
- None of the file name elements may contain an underscore character.
- None of the file name elements may contain an space character.
- When a file name element is to be omitted, the two underscore characters to the left and right follow each other immediately.
- Other file naming conventions may be agreed on a bilateral basis (specifically for testing).
The third example file name is for a single-file report sent from Apple iTunes to SACEM for a download in the FR covering the period from 15th January to 15th February 2015 could be:
Message Sender and Message Recipient may use the following approach to exchanging (and acknowledging) Sales/Usage Reports created in accordance with this standard.
- The Message Sender shall upload the file or files containing the Sales/Usage Report to a mutually-agreed folder on a mutually-agreed SFTP server;
- Once the Sales/Usage Report has been uploaded completely, the Message Sender shall place a zero-byte semaphore file into the folder containing the sales/usage report.
The semaphore file shall have the same file name as the Sales/Usage Report file, albeit with the
xofypart of the filename omitted and a file extension of
- The Message Recipient shall download all Sales/Usage Report files once it has seen the semaphore file;
- Once the Message Recipient has successfully downloaded the file(s) of the Sales/Usage Report, it shall delete the semaphore file from the SFTP server;
- The Message Recipient may also delete the sales/usage report file from the SFTP server at this stage; and
- Should Message Sender and Message Recipient agree to communicate acknowledgements for Sales/Usage Reports, the Message Recipient shall place an acknowledgement message file into the folder containing the sales/usage report file.
The semaphore file shall have the same file name as the Sales/Usage Report file, albeit with a prefix of
xofypart of the filename omitted.
DDEX may define the syntax of the acknowledgement message at a later time.
The box below shows how the structure of the SFTP server after the Message Recipient has downloaded the single file Sales/Usage Report and has removed the semaphore file:
The box below shows how the structure of the SFTP server after the Message Sender has uploaded a multi-file file Sales/Usage Report. Message Sender and Recipient have agreed that the Recipient provides an acknowledgement on Sales/Usage Report level:
The box below shows how the structure of the SFTP after the Message Recipient has downloaded all files of the multi-file file Sales/Usage Report and subsequently acknowledged the entire Sales/Usage Report:
Evaluation Licence for DDEX Standards