A go-sdk for the myData API provided by Greek government

Codacy Badge codebeat badge CircleCI Quality Gate Status codecov Go Report Card GoDoc

go-myDATA-aade

A Go based SDK to communicate with the myDATA Rest API provided by the Greek Government

Supported methods

ERP Methods

  • RequestDocs (Returns all invoices submitted by other parties and the receiver is the authorized entity)
  • RequestTransmittedDocs (Returns all invoices submitted by the authorized entity to third-parties)

Provider Methods

To be implemented soon

ERP Methods

  • CancelInvoice
  • SendInvoices
  • SendExpensesClassification
  • SendIncomeClassification

Provider Methods

  • SendInvoices
  • RequestTransmittedDocs
  • RequestReceiverInfo
Comments
  • Bump github.com/deepmap/oapi-codegen from 1.12.2 to 1.12.3

    Bump github.com/deepmap/oapi-codegen from 1.12.2 to 1.12.3

    Bumps github.com/deepmap/oapi-codegen from 1.12.2 to 1.12.3.

    Release notes

    Sourced from github.com/deepmap/oapi-codegen's releases.

    Fix the generated error handling for Gin

    In v1.12.0 we added support for custom error handling to be used in the generated Gin code.

    Unfortunately, we didn't produce the right code, so this would cause (compilation) errors.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/deepmap/oapi-codegen from 1.9.0 to 1.12.1

    Bump github.com/deepmap/oapi-codegen from 1.9.0 to 1.12.1

    Bumps github.com/deepmap/oapi-codegen from 1.9.0 to 1.12.1.

    Release notes

    Sourced from github.com/deepmap/oapi-codegen's releases.

    Fix an issue with command line parsing

    • The -o flag specifying the output filename was being ignore in very simple invocations of oapi-codegen without a configuration file. This is fallout from trying to be compatible with old and new style configs.

    Many bug fixes

    Major changes to functionality

    • In the last release, we changed the configuration file format to a new syntax, and added flags to read the old version, but it turns out that this default-on change broke a lot of automation, sorry about that. In this release, we've done our best to auto-detect the configuration version, so both styles of config options should work. The explicit version selection flags have not been removed.
    • Gorilla router (deepmap/oapi-codegen#594)
    • "strict" server generation, meaning one which is much more pedantic about input and output types, which allows for making API clients and servers that look more like Go functions than HTTP handlers (deepmap/oapi-codegen#499)
    • Fields can be marked with x-json-ignore to omit in JSON serialization (deepmap/oapi-codegen#390)
    • Many fixes to unions for oneOf and anyOf handling, thank you committers.
    • Enums can be prefixed with their typename in all cases, versus only on collisions previously. This is a configurable option (deepmap/oapi-codegen#662)
    • The Client interface in generated code was named awfully generically. You can now override the name (deepmap/oapi-codegen#788)
    • Generate code can be optionally formatted using more initialisms. It's default-off to not break existing code (deepmap/oapi-codegen#749)
    • Gin code can be configured with a custom error handler, versus generating error responses inline. Default behavior is the same as before (deepmap/oapi-codegen#587)
    • Gin middleware evaluation order can be reversed to be consistent with common Gin usage, it's default-off to not break previous behavior. ( deepmap/oapi-codegen#787)

    Everything that has changed

    This is a very large release with many bug fixes. Thanks to all contributors.

    ... (truncated)

    Commits
    • 8175447 Handle simple configs with output flag properly
    • cf23455 Fix bug in oneOf not propagating external references (#729)
    • e5ee43d Change imports into aliases so they implement the base interface
    • 7b01009 Add client-type-prefix output option (#785) (#788)
    • 0d74b1d Regenerate boilerplate
    • 895be61 Ft/handle external pkg name in response (#752)
    • 71fbc4f Fix styling AnyOf issue (#809)
    • ec207c7 Typos (#814)
    • bc5c5d4 Fixed an issue where null values were incorrectly generated when AnyOf was se...
    • 88a3a2b Update various modules
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/deepmap/oapi-codegen from 1.9.0 to 1.11.0

    Bump github.com/deepmap/oapi-codegen from 1.9.0 to 1.11.0

    Bumps github.com/deepmap/oapi-codegen from 1.9.0 to 1.11.0.

    Release notes

    Sourced from github.com/deepmap/oapi-codegen's releases.

    Many updates, you will need to update your configuration

    Many changes to code generation

    We've had many big changes which affect code generation on the back burner, for fear of breaking code dependent on previous behavior, but this was holding back many fixes, so this release, in its default behavior, breaks generated code to be incompatible with existing code. However, we've been able to provide configuration options to disable this new behavior in all cases. So, with small changes to how oapi-codegen is invoked, you can continue to generate compatible code, however, you will not have these new changes, all of which fix bugs.

    Configuration and flag changes

    First, we are moving from flag based configuration of the tool, to using a configuration file. The configuration file is directly loaded into the Options struct used by the codegen package. A number of the former flags are ignored, and the former configuration file will fail to load with default settings.

    To help you migrate your configuration options, we've provided several new flags:

    • --old-config-style: When set, we will correctly parse all flags and configuration files in the previous way. When it becomes inconvenient to maintain this flag, we will remove it.
    • --output-config: When set, oapi-codegen will output a new-style configuration file based from all flags and an existing configuration file. Combined with the previous flag, you can use the tool to update your configuration files.

    If previously you were running a command like:

    oapi-codegen --package=petshop --generate="types,client,server,spec" -alias-types petshop-expanded.yaml
    

    You will now get an error:

    error processing flags: flags --alias-types aren't supported in new config style, please use --old-style-config or update your configuration
    

    By adding the --old-config-style, code will be generated:

    oapi-codegen --old-config-style  --package=petshop --generate="types,client,server,spec" -alias-types petshop-expanded.yaml
    

    But, we're moving away from flags, so you can generate a config file like so:

    oapi-codegen --output-config --old-config-style  --package=petshop --generate="types,client,server,spec" -alias-types petshop-expanded.yaml
    

    And you will see this output:

    package: petshop
    generate:
      echo-server: true
      client: true
      models: true
      embedded-spec: true
    

    You can save that to a config file, and use that to configure oapi-codegen in the future.

    oapi-codegen --config config.yaml petshop-expanded.yaml
    

    Schema merging for allOf has been rewritten

    The expanded petstore example contains an allOf schema which merges NewPet properties with an ID:

        Pet:
          allOf:
    </tr></table> 
    

    ... (truncated)

    Commits
    • 6e66df9 Rewrite configuration options
    • 9c4d551 Generate aliases instead of typedefs
    • 920beb4 Fix marshaling of aliased custom types
    • ec460d3 Move test specs to embedded files
    • 6a34824 Add form tag to parameters.
    • 7298f44 Clean up enum spacing
    • cfb1d65 Small readme update
    • b4ccc36 Apply syntax highlighting to SecurityProvider documentation (#576)
    • 58e7d51 Update enum conflict resolution.
    • 42f4388 Use lower-cased x-go-name for parameters var name (#574)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/deepmap/oapi-codegen from 1.9.0 to 1.10.1

    Bump github.com/deepmap/oapi-codegen from 1.9.0 to 1.10.1

    Bumps github.com/deepmap/oapi-codegen from 1.9.0 to 1.10.1.

    Release notes

    Sourced from github.com/deepmap/oapi-codegen's releases.

    Roll back v1.10.0 Gin changes

    PR #530 was a breaking change I should not have merged.

    Some new features and many bug fixes

    Thank you everyone for your PR's. I'm incrementing the minor version because some new functionality was added:

    • x-go-type (#517)
    • UUID formatted strings (#546)
    • readOnly/writeOnly properties (#547)

    I've also merged numerous bug fixes.

    Sorry for the long delay in releases, I've been extremely busy, and it takes time to go over PR's to make sure they don't break something.

    Bug fixes, go embed for templates

    • Update Echo to fix security issues and baseurl handling
    • Internally, use go:embed instead of third party embedding tools for templates.
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/ppapapetrou76/go-testing from 0.0.7 to 0.0.8

    Bump github.com/ppapapetrou76/go-testing from 0.0.7 to 0.0.8

    Bumps github.com/ppapapetrou76/go-testing from 0.0.7 to 0.0.8.

    Release notes

    Sourced from github.com/ppapapetrou76/go-testing's releases.

    v0.0.8

    What's Changed

    Full Changelog: https://github.com/ppapapetrou76/go-testing/compare/v0.0.7...v0.0.8

    Commits
    • 3c71ba5 bumps golangci-linter version to 1.44 and fixes newley reported issues (#47)
    • e518a29 Bump github.com/r3labs/diff/v2 from 2.14.5 to 2.14.6 (#46)
    • 82f92fd Add IgnoringNewLines string decorator (#44)
    • d11b502 Add IsSubstringOf assertion (#45)
    • 47d1f22 Bump github.com/r3labs/diff/v2 from 2.14.4 to 2.14.5 (#42)
    • e7410a3 Add HasSize assertions (#43)
    • 4c62e8e Bump github.com/r3labs/diff/v2 from 2.14.3 to 2.14.4 (#41)
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/deepmap/oapi-codegen from 1.9.0 to 1.9.1

    Bump github.com/deepmap/oapi-codegen from 1.9.0 to 1.9.1

    Bumps github.com/deepmap/oapi-codegen from 1.9.0 to 1.9.1.

    Release notes

    Sourced from github.com/deepmap/oapi-codegen's releases.

    Bug fixes, go embed for templates

    • Update Echo to fix security issues and baseurl handling
    • Internally, use go:embed instead of third party embedding tools for templates.
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/deepmap/oapi-codegen from 1.12.2 to 1.12.4

    Bump github.com/deepmap/oapi-codegen from 1.12.2 to 1.12.4

    Bumps github.com/deepmap/oapi-codegen from 1.12.2 to 1.12.4.

    Release notes

    Sourced from github.com/deepmap/oapi-codegen's releases.

    Ensure Scopes context key are generated as valid Go names

    As highlighted by @​KenxinKun in deepmap/oapi-codegen#874, gorilla/mux (as well as some other servers) were affected by an invalid Scopes context key.

    This makes them valid Go names.

    Fix the generated error handling for Gin

    In v1.12.0 we added support for custom error handling to be used in the generated Gin code.

    Unfortunately, we didn't produce the right code, so this would cause (compilation) errors.

    Commits
    • a444d30 Merge pull request #881 from KenxinKun/fix-unsanitised-template
    • 55b0905 Fixes missing unsanitised templates
    • 5a33791 Merge pull request #877 from KenxinKun/gorilla-fix-context-scope-variable-tem...
    • d14917d Fixes missing sanitation of context key variable in gorilla server
    • 4ec8015 Merge pull request #854 from deepmap/dependabot/go_modules/golang.org/x/tools...
    • 9b992be Gitignore bin
    • fe8408c Bump golang.org/x/tools from 0.2.0 to 0.3.0
    • 40890b2 Merge pull request #722 from jamietanna/chore/golangci-lint
    • 0138e13 Fix error handler for required query parameters (#857)
    • 5a103c5 Add linting with golangci-lint
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/deepmap/oapi-codegen from 1.9.0 to 1.12.2

    Bump github.com/deepmap/oapi-codegen from 1.9.0 to 1.12.2

    Bumps github.com/deepmap/oapi-codegen from 1.9.0 to 1.12.2.

    Release notes

    Sourced from github.com/deepmap/oapi-codegen's releases.

    Fix big issue with marshaling binary strings

    v1.12.0 introduced a File type which intercepts schemas of type:string, format:binary, but it incorrectly implemented the json.Marshaler interface and was lacking tests to catch the problem. This version fixes the marshaling of fields of that type.

    Prior versions of oapi-codegen turned those into a []byte, and you can still annotate your spec with x-go-type if you need []byte

    Fix an issue with command line parsing

    • The -o flag specifying the output filename was being ignore in very simple invocations of oapi-codegen without a configuration file. This is fallout from trying to be compatible with old and new style configs.

    Many bug fixes

    Major changes to functionality

    • In the last release, we changed the configuration file format to a new syntax, and added flags to read the old version, but it turns out that this default-on change broke a lot of automation, sorry about that. In this release, we've done our best to auto-detect the configuration version, so both styles of config options should work. The explicit version selection flags have not been removed.
    • Gorilla router (deepmap/oapi-codegen#594)
    • "strict" server generation, meaning one which is much more pedantic about input and output types, which allows for making API clients and servers that look more like Go functions than HTTP handlers (deepmap/oapi-codegen#499)
    • Fields can be marked with x-json-ignore to omit in JSON serialization (deepmap/oapi-codegen#390)
    • Many fixes to unions for oneOf and anyOf handling, thank you committers.
    • Enums can be prefixed with their typename in all cases, versus only on collisions previously. This is a configurable option (deepmap/oapi-codegen#662)
    • The Client interface in generated code was named awfully generically. You can now override the name (deepmap/oapi-codegen#788)
    • Generate code can be optionally formatted using more initialisms. It's default-off to not break existing code (deepmap/oapi-codegen#749)
    • Gin code can be configured with a custom error handler, versus generating error responses inline. Default behavior is the same as before (deepmap/oapi-codegen#587)
    • Gin middleware evaluation order can be reversed to be consistent with common Gin usage, it's default-off to not break previous behavior. ( deepmap/oapi-codegen#787)

    Everything that has changed

    This is a very large release with many bug fixes. Thanks to all contributors.

    ... (truncated)

    Commits
    • 7dead8e Fix binary string encoding
    • 65843bf Update enum shadowing workaround
    • a2adb9c Fix schema shadowing issue by enums (#833)
    • 5a1784a Configure default generator with no config
    • 8175447 Handle simple configs with output flag properly
    • cf23455 Fix bug in oneOf not propagating external references (#729)
    • e5ee43d Change imports into aliases so they implement the base interface
    • 7b01009 Add client-type-prefix output option (#785) (#788)
    • 0d74b1d Regenerate boilerplate
    • 895be61 Ft/handle external pkg name in response (#752)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Invalid child element 'classificationType'

    Invalid child element 'classificationType'

    Hello, thanks for the effort you put in this package!

    I started playing around, in order to send an invoice, and sent the following to AADE

    Example XML The following xml was send to AADE
    <?xml version="1.0"?>
    <InvoicesDoc xmlns="http://www.aade.gr/myDATA/invoice/v1.0">
        <invoice>
            <issuer>
                <vatNumber>111111</vatNumber>
                <country>GR</country>
                <branch>0</branch>
            </issuer>
            <counterpart>
                <vatNumber>222222</vatNumber>
                <country>GR</country>
                <branch>0</branch>
            </counterpart>
            <invoiceHeader>
                <series/>
                <aa/>
                <issueDate>2022-06-09</issueDate>
                <invoiceType>1.1</invoiceType>
                <currency>EUR</currency>
                <dispatchDate>2022-06-09</dispatchDate>
                <dispatchTime>08:57:03</dispatchTime>
            </invoiceHeader>
            <paymentMethods>
                <paymentMethodDetails>
                    <type>3</type>
                    <amount>13.37</amount>
                    <paymentMethodInfo/>
                </paymentMethodDetails>
            </paymentMethods>
            <invoiceDetails>
                <lineNumber>1</lineNumber>
                <quantity>2</quantity>
                <measurementUnit>2</measurementUnit>
                <invoiceDetailType>1</invoiceDetailType>
                <netValue>15</netValue>
                <vatCategory>1</vatCategory>
                <vatAmount>2</vatAmount>
                <incomeClassification>
                    <classificationType>E3_561_003</classificationType>
                    <classificationCategory>category1_3</classificationCategory>
                    <amount>16</amount>
                </incomeClassification>
            </invoiceDetails>
            <invoiceSummary>
                <totalNetValue>0</totalNetValue>
                <totalVatAmount>0</totalVatAmount>
                <totalWithheldAmount>0</totalWithheldAmount>
                <totalFeesAmount>0</totalFeesAmount>
                <totalStampDutyAmount>0</totalStampDutyAmount>
                <totalOtherTaxesAmount>0</totalOtherTaxesAmount>
                <totalDeductionsAmount>0</totalDeductionsAmount>
                <totalGrossValue>0</totalGrossValue>
            </invoiceSummary>
        </invoice>
    </InvoicesDoc>
    

    One of the errors I got in the response was that the income classification had the wrong namespace and that the icls namespace was missing as an attribute.

    Code:101 - Message:Line:1.Position:871.
    The element 'incomeClassification' in namespace 'http://www.aade.gr/myDATA/invoice/v1.0' has invalid child element 'classificationType' in namespace 'http://www.aade.gr/myDATA/invoice/v1.0'. 
    List of possible elements expected: 'classificationType, classificationCategory' in namespace 'https://www.aade.gr/myDATA/incomeClassificaton/v1.0'.
    

    Now, I've never really used xml before, so not sure if what I understood is correct. I noticed that the incomeClassification namespace was missing as an attribute, and that the names of the fields had the name space icls in front. From source example

    <InvoicesDoc xmlns="http://www.aade.gr/myDATA/invoice/v1.0" xmlns:icls="https://www.aade.gr/myDATA/incomeClassificaton/v1.0">
    

    and

    <incomeClassification>
      <icls:classificationType>E3_561_001</icls:classificationType>
      <icls:classificationCategory>category1_2</icls:classificationCategory>
      <icls:amount>1000.00</icls:amount>
    </incomeClassification>
    

    After, I added the icls attribute and changed the IncomeClassificationType struct to

    type IncomeClassificationType struct {
    	ClassificationType     string `xml:"icls:classificationType"`
    	ClassificationCategory string `xml:"icls:classificationCategory"`
    	Amount                 string `xml:"icls:amount"`
    	ID                     *byte  `xml:"icls:id"`
    }
    

    I managed to send an invoice. If this is something acceptable, I could draft up a PR. How does that sound?

    Ps: Is there a reason the Amount field in IncomeClassificationType is string instead of float64 like the rest?

A threadsafe single-value cache for Go with a simple but flexible API

SVCache SVCache is a threadsafe, single-value cache with a simple but flexible API. When there is no fresh value in the cache, an attempt to retrieve

Jan 23, 2022
A command-line tool and library for generating regular expressions from user-provided test cases
A command-line tool and library for generating regular expressions from user-provided test cases

Table of Contents What does this tool do? Do I still need to learn to write regexes then? Current features How to install? 4.1 The command-line tool 4

Jan 9, 2023
oc CLI plugin to interact with Helm features provided by the OpenShift Console

OpenShift provides support for managing the lifecycle of Helm charts. This capability is limited primarily to the Web Console. This plugin enables the management of Helm charts similar to using the standalone Helm CLI while offloading much of the work to OpenShift.

Aug 20, 2022
A basic presence tracker, that sends messages when the provided user's presence changed, written with discordgo

presenceTracker A basic presence tracker, that sends messages when the provided user's presence changed, written with discordgo Just put the User ID t

Oct 12, 2022
BK-IAM is a centralized permission management service provided by The Tencent BlueKing; based on ABAC

(English Documents Available) Overview 蓝鲸权限中心(BK-IAM)是蓝鲸智云提供的集中权限管理服务,支持基于蓝鲸开发框架的SaaS和企业第三方系统的权限控制接入,以及支持细粒度的权限管理。 架构设计 代码目录 Features 蓝鲸权限中心是基于 ABAC 强

Nov 16, 2022
Use the HashPassword function to generate a hashed value for the provided password

hasher Use the 'HashPassword' function to generate a hashed value for the provided password. h, err := hasher.HashPassword("password") // h == XohImNo

Nov 1, 2021
Downloads the Windows 10 wallpapers provided by Microsoft.

microsoft-wallpapers Preparation Prepare an input file that contains a list of links from the Microsoft website that lead to wallpapers. This list is

Nov 29, 2021
This small service will pong the headers provided in the request as json response

This small service will pong the headers provided in the request as json response server will run on port 5000 content will be served at path /request

Dec 9, 2021
Build file generation is provided as a plugin for gazelle

JS rules for Bazel Ecosia specific JS Bazel rules to be used with the NodeJS rules Setup http_archive( name = "benchsci_bazel_rules_nodejs_contrib

Dec 14, 2022
This repo introduces a simple server, which provided some APIs for search DAS account's records or reverse records

Prerequisites Install Usage Others Das-Account-Indexer This repo introduces a simple server, which provided some APIs for search DAS account's records

Dec 13, 2022
A demo for building recordings from landmark information provided by media pipe

Landmark Recordings A demo for building recordings from landmark information pro

Jul 27, 2022
A Golang package for simplifying storing configuration in the OS-provided secret manager.

go-keyconfig A Golang package for simplifying storing configuration in the OS-provided secret manager. Operating System Support OS Secret Manager MacO

Jul 22, 2022
Provides a method to create thumbnails from provided images.

Thumbnail Generation Package for Go This package provides method to create thumbnails from provided images. Installation Use to go command: $ go get g

Aug 31, 2022
A drop-in replacement to any Writer type, which also calculates a hash using the provided hash type.

writehasher A drop-in replacement to any Writer type, which also calculates a hash using the provided hash type. Example package main import ( "fmt"

Jan 10, 2022
This is a tool to extract TODOs, NOTEs etc or search user provided terms from given files and/or directories.

ado This is a tool to extract TODOs, NOTEs etc or user provided terms from given files and/or directories. DEPRECIATED: My project seek has cleaner co

Aug 11, 2022
A go sdk for baidu netdisk open platform 百度网盘开放平台 Go SDK

Pan Go Sdk 该代码库为百度网盘开放平台Go语言的SDK

Nov 22, 2022
Nextengine-sdk-go: the NextEngine SDK for the Go programming language

NextEngine SDK for Go nextengine-sdk-go is the NextEngine SDK for the Go programming language. Getting Started Install go get github.com/takaaki-s/nex

Dec 7, 2021
Commercetools-go-sdk is fork of original commercetools-go-sdk

commercetools-go-sdk The Commercetools Go SDK is automatically generated based on the official API specifications of Commercetools. It should therefor

Dec 13, 2021
Sdk-go - Go version of the Synapse SDK

synapsesdk-go Synapse Protocol's Go SDK. Currently in super duper alpha, do not

Jan 7, 2022
Redash-go-sdk - An SDK for the programmatic management of Redash, in Go
Redash-go-sdk - An SDK for the programmatic management of Redash, in Go

Redash Go SDK An SDK for the programmatic management of Redash. The main compone

Dec 13, 2022