├── src ├── Germany │ ├── Mews.Fiscalizations.Germany │ │ ├── GlobalUsings.cs │ │ ├── V2 │ │ │ ├── Dto │ │ │ │ ├── ClientState.cs │ │ │ │ ├── FiskalyEnvironment.cs │ │ │ │ ├── TssState.cs │ │ │ │ ├── AdminLoginRequest.cs │ │ │ │ ├── CreateClientRequest.cs │ │ │ │ ├── CreateTssResponse.cs │ │ │ │ ├── MultipleTssResponse.cs │ │ │ │ ├── MultipleClientResponse.cs │ │ │ │ ├── FinishTransactionRequest.cs │ │ │ │ ├── UpdateTssRequest.cs │ │ │ │ ├── AdminSetPinRequest.cs │ │ │ │ ├── UpdateClientRequest.cs │ │ │ │ ├── AuthorizationTokenRequest.cs │ │ │ │ ├── TransactionRequest.cs │ │ │ │ └── FiskalyErrorResponse.cs │ │ │ └── Model │ │ │ │ ├── ClientState.cs │ │ │ │ ├── FiskalyEnvironment.cs │ │ │ │ ├── TransactionState.cs │ │ │ │ ├── TssState.cs │ │ │ │ ├── Item.cs │ │ │ │ ├── Result │ │ │ │ ├── FiskalyError.cs │ │ │ │ └── ResponseResult.cs │ │ │ │ ├── Payment.cs │ │ │ │ ├── AccessToken.cs │ │ │ │ ├── CreateTssResult.cs │ │ │ │ ├── Signature.cs │ │ │ │ ├── Types │ │ │ │ └── ApiSecret.cs │ │ │ │ └── Client.cs │ │ └── Utils │ │ │ └── Extensions.cs │ └── Mews.Fiscalizations.Germany.Tests │ │ ├── GlobalUsings.cs │ │ └── V2 │ │ ├── FiskalyTestData.cs │ │ ├── AccessTokenTests.cs │ │ └── TestFixture.cs ├── Italy │ ├── Mews.Fiscalizations.Italy │ │ ├── GlobalUsings.cs │ │ ├── Dto │ │ │ ├── Invoice │ │ │ │ ├── SdiError.cs │ │ │ │ ├── RitenutaType.cs │ │ │ │ ├── IssuerType.cs │ │ │ │ ├── Art73Type.cs │ │ │ │ ├── TransmissionFormat.cs │ │ │ │ ├── StampDutyPaid.cs │ │ │ │ ├── VersioneSchemaType.cs │ │ │ │ ├── LiquidationState.cs │ │ │ │ ├── WithholdingType.cs │ │ │ │ ├── ShareholderDistribution.cs │ │ │ │ ├── VatDueDate.cs │ │ │ │ ├── PaymentTerms.cs │ │ │ │ ├── Intermediary.cs │ │ │ │ ├── SdiFileInfo.cs │ │ │ │ ├── TaxRepresentative.cs │ │ │ │ ├── PriceAdjustmentType.cs │ │ │ │ ├── WorkProgressReportData.cs │ │ │ │ ├── Buyer.cs │ │ │ │ ├── DocumentType.cs │ │ │ │ ├── VehicleData.cs │ │ │ │ ├── ServiceData.cs │ │ │ │ ├── TransmitterContact.cs │ │ │ │ ├── SdiSendResult.cs │ │ │ │ ├── PaymentData.cs │ │ │ │ ├── ServiceType.cs │ │ │ │ ├── ArticleCode.cs │ │ │ │ ├── PaymentReason.cs │ │ │ │ ├── TipoCassaType.cs │ │ │ │ ├── MainInvoice.cs │ │ │ │ ├── DatiAnagraficiCessionarioType.cs │ │ │ │ ├── StampDutyData.cs │ │ │ │ ├── DatiAnagraficiTerzoIntermediarioType.cs │ │ │ │ └── Contact.cs │ │ │ ├── Notifications │ │ │ │ ├── ClientOutcome.cs │ │ │ │ ├── Destination.cs │ │ │ │ ├── InvoiceArchive.cs │ │ │ │ └── SdiError.cs │ │ │ ├── XmlSignature │ │ │ │ ├── ItemsChoice2.cs │ │ │ │ ├── X509IssuerSerial.cs │ │ │ │ ├── Transforms.cs │ │ │ │ ├── ItemsChoice1.cs │ │ │ │ ├── ItemsChoice3.cs │ │ │ │ ├── Manifest.cs │ │ │ │ ├── SignatureValue.cs │ │ │ │ ├── RSAKeyValue.cs │ │ │ │ ├── SPKIData.cs │ │ │ │ ├── DigestMethod.cs │ │ │ │ ├── KeyValue.cs │ │ │ │ ├── SignatureProperties.cs │ │ │ │ ├── CanonicalizationMethod.cs │ │ │ │ ├── Transform.cs │ │ │ │ ├── RetrievalMethod.cs │ │ │ │ ├── SignatureMethod.cs │ │ │ │ ├── SignedInfo.cs │ │ │ │ └── Signature.cs │ │ │ └── Receive │ │ │ │ └── ReceiveFileRequest.cs │ │ ├── Uniwix │ │ │ ├── Communication │ │ │ │ ├── Dto │ │ │ │ │ ├── Response.cs │ │ │ │ │ ├── UniwixProcesingState.cs │ │ │ │ │ ├── PostInvoiceResponse.cs │ │ │ │ │ ├── ValidationError.cs │ │ │ │ │ ├── SdiState.cs │ │ │ │ │ ├── SendInvoiceResult.cs │ │ │ │ │ ├── InvoiceState.cs │ │ │ │ │ ├── InvoiceStateResult.cs │ │ │ │ │ ├── CreateUserParameters.cs │ │ │ │ │ └── UniwixUser.cs │ │ │ │ └── UniwixClientConfiguration.cs │ │ │ └── Errors │ │ │ │ └── ErrorType.cs │ │ └── Utils │ │ │ └── FileUtils.cs │ └── Mews.Fiscalizations.Italy.Tests │ │ └── Mews.Fiscalizations.Italy.Tests.csproj ├── Core │ ├── Mews.Fiscalizations.Core │ │ ├── GlobalUsings.cs │ │ ├── Xml │ │ │ ├── Signing │ │ │ │ ├── License │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ ├── authors.txt │ │ │ │ │ ├── CLR-Security-LICENSE.txt │ │ │ │ │ └── Microsoft.Xades-LICENSE.txt │ │ │ │ ├── Signature │ │ │ │ │ └── Parameters │ │ │ │ │ │ ├── DataFormat.cs │ │ │ │ │ │ ├── SignatureXPathExpression.cs │ │ │ │ │ │ ├── SignerRole.cs │ │ │ │ │ │ └── SignatureProductionPlace.cs │ │ │ │ ├── Microsoft.Xades │ │ │ │ │ ├── CertifiedRole.cs │ │ │ │ │ ├── CRLValue.cs │ │ │ │ │ ├── OCSPValue.cs │ │ │ │ │ └── EncapsulatedX509Certificate.cs │ │ │ │ └── Utils │ │ │ │ │ ├── DigestUtil.cs │ │ │ │ │ └── XMLUtil.cs │ │ │ ├── XmlNamespace.cs │ │ │ └── XmlSerializationParameters.cs │ │ ├── Model │ │ │ ├── Error.cs │ │ │ ├── Extensions │ │ │ │ └── ITryExtensions.cs │ │ │ ├── Countries │ │ │ │ └── NonEuropeanUnionCountry.cs │ │ │ ├── Collections │ │ │ │ └── Indexed.cs │ │ │ ├── Strings │ │ │ │ ├── String1To50.cs │ │ │ │ ├── String1To20.cs │ │ │ │ ├── String1To30.cs │ │ │ │ ├── String1To60.cs │ │ │ │ ├── String0To500.cs │ │ │ │ ├── String1To100.cs │ │ │ │ ├── String1To120.cs │ │ │ │ └── String1To250.cs │ │ │ └── Decimals │ │ │ │ ├── Amount.cs │ │ │ │ └── Percentage.cs │ │ └── Validations │ │ │ └── ObjectValidations.cs │ └── Mews.Fiscalizations.Core.Tests │ │ ├── GlobalUsings.cs │ │ └── Mews.Fiscalizations.Core.Tests.csproj ├── Spain │ ├── Mews.Fiscalizations.Spain │ │ ├── GlobalUsings.cs │ │ ├── Environment.cs │ │ ├── Model │ │ │ ├── Enums │ │ │ │ ├── ErrorType.cs │ │ │ │ ├── RegisterResult.cs │ │ │ │ ├── CommunicationType.cs │ │ │ │ ├── InvoiceRegisterResult.cs │ │ │ │ ├── CauseOfExemption.cs │ │ │ │ ├── Month.cs │ │ │ │ ├── ResidenceCountryIdentificatorType.cs │ │ │ │ ├── InvoiceType.cs │ │ │ │ └── TaxMode.cs │ │ │ ├── Request │ │ │ │ ├── TaxPeriod.cs │ │ │ │ ├── TaxExemptItem.cs │ │ │ │ ├── Header.cs │ │ │ │ ├── ForeignCounterParty.cs │ │ │ │ ├── InvoiceId.cs │ │ │ │ ├── ForeignCompany.cs │ │ │ │ └── TaxRateSummary.cs │ │ │ ├── Response │ │ │ │ ├── LocalCompany.cs │ │ │ │ ├── Header.cs │ │ │ │ ├── InvoiceId.cs │ │ │ │ └── ReceivedInvoices.cs │ │ │ └── Types │ │ │ │ └── Year.cs │ │ ├── Converters │ │ │ └── NumberExtensions.cs │ │ ├── Dto │ │ │ ├── Responses │ │ │ │ └── SoapFault │ │ │ │ │ ├── SoapFaultResultBody.cs │ │ │ │ │ ├── SoapFaultResultBodyFaultDetail.cs │ │ │ │ │ ├── SoapFaultResponse.cs │ │ │ │ │ └── SoapFaultResultBodyFault.cs │ │ │ └── XSD │ │ │ │ ├── SuministroInformacion │ │ │ │ ├── CuponType.cs │ │ │ │ ├── MacrodatoType.cs │ │ │ │ ├── ClaveOperacionType.cs │ │ │ │ ├── EmitidaPorTercerosType.cs │ │ │ │ ├── FacturaModificadaType.cs │ │ │ │ ├── VariosDestinatariosType.cs │ │ │ │ ├── CompletaSinDestinatarioType.cs │ │ │ │ ├── SimplificadaCualificadaType.cs │ │ │ │ ├── RegPrevioGGEEoREDEMEoCompetenciaType.cs │ │ │ │ ├── VersionSiiType.cs │ │ │ │ ├── TipoOperacionSujetaNoExentaType.cs │ │ │ │ ├── EstadoRegistroSIIType.cs │ │ │ │ ├── CausaExencionType.cs │ │ │ │ ├── ClaveTipoComunicacionType.cs │ │ │ │ ├── OperacionIntracomunitariaTypeClaveDeclarado.cs │ │ │ │ ├── OperacionIntracomunitariaTypeTipoOperacion.cs │ │ │ │ ├── ClaveTipoRectificativaType.cs │ │ │ │ ├── SuministroInformacion.cs │ │ │ │ ├── SuministroInformacionBaja.cs │ │ │ │ ├── IDFacturaExpedidaTypeIDEmisorFactura.cs │ │ │ │ ├── ClaveTipoFacturaType.cs │ │ │ │ ├── IDFacturaExpedidaBCTypeIDEmisorFactura.cs │ │ │ │ ├── RangoFechaType.cs │ │ │ │ ├── EstadoCuadreImputacionType.cs │ │ │ │ ├── RangoFechaPresentacionType.cs │ │ │ │ ├── TipoSinDesgloseType.cs │ │ │ │ ├── DatosPresentacionType.cs │ │ │ │ ├── CabeceraSiiBaja.cs │ │ │ │ ├── IDFacturaARType.cs │ │ │ │ ├── NoSujetaType.cs │ │ │ │ ├── PersonaFisicaJuridicaUnicaESType.cs │ │ │ │ ├── DatosInmuebleType.cs │ │ │ │ ├── CabeceraConsultaSii.cs │ │ │ │ ├── TipoSinDesglosePrestacionType.cs │ │ │ │ ├── IDFacturaConsulta2Type.cs │ │ │ │ ├── TipoConDesgloseType.cs │ │ │ │ ├── IDFacturaRecibidaTypeIDEmisorFactura.cs │ │ │ │ ├── CabeceraConsultaSiiCliente.cs │ │ │ │ ├── IDFacturaImputacionTypeIDEmisorFactura.cs │ │ │ │ ├── ClavePaginacionClienteTypeIDEmisorFactura.cs │ │ │ │ ├── ClavePaginacionProveedorTypeIDEmisorFactura.cs │ │ │ │ └── SituacionInmuebleType.cs │ │ │ │ ├── RespuestaConsultaLR │ │ │ │ ├── FacturaARType.cs │ │ │ │ ├── IndicadorPaginacionType.cs │ │ │ │ ├── ResultadoConsultaType.cs │ │ │ │ ├── EstadoRegistroSIIType1.cs │ │ │ │ ├── RespuestaConsultaLRAgenciasViajesType.cs │ │ │ │ ├── RespuestaConsultaLRBienesInversionType.cs │ │ │ │ ├── RespuestaConsultaLRCobrosMetalicoType.cs │ │ │ │ ├── RespuestaConsultaLRFacturasEmitidasType.cs │ │ │ │ ├── RespuestaConsultaLRFacturasRecibidasType.cs │ │ │ │ └── RespuestaConsultaLROperacionesSegurosType.cs │ │ │ │ ├── RespuestaSuministro │ │ │ │ ├── EstadoEnvioType.cs │ │ │ │ ├── EstadoRegistroType.cs │ │ │ │ ├── RespuestaLRIMetalicoType.cs │ │ │ │ ├── RespuestaLRFRecibidasType.cs │ │ │ │ ├── RespuestaLRBienesInversionType.cs │ │ │ │ ├── RespuestaLROComunitariasType.cs │ │ │ │ ├── RespuestaLRAgenciasViajesType.cs │ │ │ │ ├── RespuestaLRBajaFRecibidasType.cs │ │ │ │ ├── RespuestaLRBajaIMetalicoType.cs │ │ │ │ ├── RespuestaLRBajaBienesInversionType.cs │ │ │ │ ├── RespuestaLRBajaFRecibidasPagosType.cs │ │ │ │ ├── RespuestaLRBajaOComunitariasType.cs │ │ │ │ ├── RespuestaLRBajaAgenciasViajesType.cs │ │ │ │ ├── RespuestaLROperacionesSegurosType.cs │ │ │ │ └── RespuestaLRBajaOperacionesSegurosType.cs │ │ │ │ ├── ConsultaLR │ │ │ │ ├── ConsultaPagosType.cs │ │ │ │ ├── ConsultaCobrosType.cs │ │ │ │ ├── LRFiltroInmueblesAdicionalesType.cs │ │ │ │ ├── LRConsultaEmitidasType.cs │ │ │ │ ├── LRConsultaRecibidasType.cs │ │ │ │ ├── LRConsultaAgenciasViajesType.cs │ │ │ │ ├── LRConsultaCobrosMetalicoType.cs │ │ │ │ ├── LRConsultaBienesInversionType.cs │ │ │ │ ├── LRConsultaLROperacionesSegurosType.cs │ │ │ │ ├── LRFiltroAgenciasViajesTypeClavePaginacion.cs │ │ │ │ ├── LRFiltroCobrosMetalicoTypeClavePaginacion.cs │ │ │ │ ├── ConsultaLRFactInformadasClienteType.cs │ │ │ │ ├── LRConsultaDetOperIntracomunitariasType.cs │ │ │ │ ├── ConsultaInmueblesAdicionalesType.cs │ │ │ │ └── ConsultaLRFactInformadasAgrupadasClienteType.cs │ │ │ │ └── SuministroLR │ │ │ │ ├── LRBajaAgenciasViajesType.cs │ │ │ │ └── LRBajaCobrosMetalicoType.cs │ │ ├── XmlMessageSerializedEventArgs.cs │ │ └── HttpRequestFinishedEventArgs.cs │ └── Mews.Fiscalizations.Spain.Tests │ │ └── Mews.Fiscalizations.Spain.Tests.csproj ├── Basque │ ├── Mews.Fiscalizations.Basque │ │ ├── GlobalUsings.cs │ │ ├── Environment.cs │ │ ├── Region.cs │ │ └── Model │ │ │ ├── InvoiceState.cs │ │ │ ├── IssuerType.cs │ │ │ ├── CorrectingInvoiceType.cs │ │ │ ├── Invoice │ │ │ ├── CauseOfExemption.cs │ │ │ ├── TaxBreakdown │ │ │ │ ├── TaxExemptItem.cs │ │ │ │ └── TaxRateSummary.cs │ │ │ ├── CorrectingInvoiceAmount.cs │ │ │ ├── CorrectedInvoice.cs │ │ │ ├── CorrectingInvoice.cs │ │ │ ├── InvoiceFooter.cs │ │ │ └── TaxMode.cs │ │ │ ├── IdType.cs │ │ │ ├── CorrectingInvoiceCode.cs │ │ │ ├── Software │ │ │ ├── LocalSoftwareDeveloper.cs │ │ │ ├── SoftwareDeveloper.cs │ │ │ └── ForeignSoftwareDeveloper.cs │ │ │ ├── SendInvoiceValidationResult.cs │ │ │ ├── Receiver │ │ │ ├── ReceiverInfo.cs │ │ │ └── ForeignReceiver.cs │ │ │ ├── PostalCode.cs │ │ │ ├── Issuer.cs │ │ │ └── Subject.cs │ └── Mews.Fiscalizations.Basque.Tests │ │ ├── GlobalUsings.cs │ │ ├── EntitateOrdezkaria_RepresentanteDeEntidad.p12 │ │ ├── Bizkaia │ │ └── Helpers │ │ │ └── XmlSerializationHelper.cs │ │ └── ValidationTests.cs ├── Fiskaly │ ├── Mews.Fiscalizations.Fiskaly │ │ ├── Models │ │ │ ├── FiskalyError.cs │ │ │ ├── FiskalyEnvironment.cs │ │ │ ├── ErrorResult.cs │ │ │ ├── SignES │ │ │ │ ├── ClientDevices │ │ │ │ │ └── ClientDevice.cs │ │ │ │ ├── Taxpayers │ │ │ │ │ ├── TaxpayerType.cs │ │ │ │ │ ├── SignedTaxpayerAgreement.cs │ │ │ │ │ ├── TaxpayerAgreementRepresentative.cs │ │ │ │ │ ├── TaxpayerAddress.cs │ │ │ │ │ ├── TaxpayerTerritory.cs │ │ │ │ │ └── Taxpayer.cs │ │ │ │ ├── Invoices │ │ │ │ │ ├── CompleteInvoice.cs │ │ │ │ │ └── CorrectingInvoice.cs │ │ │ │ ├── Signers │ │ │ │ │ └── Signer.cs │ │ │ │ └── Audit │ │ │ │ │ └── SoftwareAuditData.cs │ │ │ ├── Management │ │ │ │ └── Organizations │ │ │ │ │ └── ManagedOrganizationApiKey.cs │ │ │ ├── ResponseResult.cs │ │ │ └── AccessToken.cs │ │ ├── DTOs │ │ │ ├── FiskalyEnvironment.cs │ │ │ ├── SignES │ │ │ │ ├── Taxpayers │ │ │ │ │ ├── TaxpayerState.cs │ │ │ │ │ ├── TaxpayerType.cs │ │ │ │ │ ├── Territory.cs │ │ │ │ │ ├── SignedTaxpayerAgreementRequest.cs │ │ │ │ │ ├── UpdateTaxpayerRequest.cs │ │ │ │ │ ├── TaxpayerIssuer.cs │ │ │ │ │ ├── SignedTaxpayerAgreementResponse.cs │ │ │ │ │ └── CreateTaxpayerRequest.cs │ │ │ │ ├── ContentWrapper.cs │ │ │ │ ├── Signers │ │ │ │ │ ├── MultipleSignerResponse.cs │ │ │ │ │ └── UpdateSignerRequest.cs │ │ │ │ ├── ClientDevices │ │ │ │ │ ├── MultipleClientResponse.cs │ │ │ │ │ └── UpdateClientRequest.cs │ │ │ │ ├── Auth │ │ │ │ │ └── AuthorizationTokenRequest.cs │ │ │ │ └── SignESErrorResponse.cs │ │ │ ├── Management │ │ │ │ ├── Organizations │ │ │ │ │ ├── ApiKeyStatusEnum.cs │ │ │ │ │ ├── CreateManagedOrganizationApiKeyResponse.cs │ │ │ │ │ └── CreateManagedOrganizationApiKeyRequest.cs │ │ │ │ └── Auth │ │ │ │ │ └── AuthorizationTokenRequest.cs │ │ │ └── FiskalyErrorResponse.cs │ │ └── Mappers │ │ │ ├── ErrorMapper.cs │ │ │ └── SignES │ │ │ ├── SignESErrorMapper.cs │ │ │ └── ClientDevices │ │ │ └── ClientDeviceMapper.cs │ └── Mews.Fiscalizations.Fiskaly.Tests │ │ └── TestFixture.cs ├── Hungary │ ├── Mews.Fiscalizations.Hungary │ │ ├── Models │ │ │ ├── Invoice │ │ │ │ ├── Customer.cs │ │ │ │ ├── MeasurementUnit.cs │ │ │ │ ├── ValidationResultCode.cs │ │ │ │ ├── PaymentMethod.cs │ │ │ │ ├── InvoiceState.cs │ │ │ │ ├── TransactionStatus.cs │ │ │ │ ├── LocalCompany.cs │ │ │ │ └── TaxSummaryItem.cs │ │ │ ├── Result │ │ │ │ ├── TaxPayerErrorCode.cs │ │ │ │ ├── TransactionErrorCode.cs │ │ │ │ ├── ExchangeTokenErrorCode.cs │ │ │ │ └── ResultErrorCode.cs │ │ │ ├── SoftwareType.cs │ │ │ ├── AddressType.cs │ │ │ ├── TaxPayer │ │ │ │ └── IncorporationType.cs │ │ │ ├── Types │ │ │ │ ├── AmountValue.cs │ │ │ │ ├── City.cs │ │ │ │ ├── Name.cs │ │ │ │ ├── Login.cs │ │ │ │ ├── Region.cs │ │ │ │ ├── Description.cs │ │ │ │ ├── InvoiceNumber.cs │ │ │ │ ├── AdditionalAddressDetail.cs │ │ │ │ └── VatCode.cs │ │ │ ├── ValidationExtensions.cs │ │ │ └── LocalTaxpayerIdentificationNumber.cs │ │ ├── NavEnvironment.cs │ │ ├── GlobalUsings.cs │ │ ├── Utils │ │ │ └── Aes.cs │ │ └── TaxationInfo.cs │ └── Mews.Fiscalizations.Hungary.Tests │ │ └── GlobalUsings.cs ├── Austria │ ├── Mews.Fiscalizations.Austria │ │ ├── ATrust │ │ │ ├── ATrustEnvironment.cs │ │ │ ├── ATrustSignerResponse.cs │ │ │ ├── ATrustCredentials.cs │ │ │ ├── EndpointUrl.cs │ │ │ └── ATrustUserIdentifier.cs │ │ ├── ISigner.cs │ │ ├── Dto │ │ │ ├── EncryptedTurnover.cs │ │ │ ├── Identifiers │ │ │ │ ├── Identifier.cs │ │ │ │ ├── ReceiptNumber.cs │ │ │ │ ├── RegisterIdentifier.cs │ │ │ │ ├── CertificateSerialNumber.cs │ │ │ │ ├── IntIdentifier.cs │ │ │ │ └── JwsRepresentation.cs │ │ │ ├── ChainValue.cs │ │ │ ├── ByteValue.cs │ │ │ └── SignerOutput.cs │ │ └── AesKeyGenerator.cs │ └── Mews.Fiscalizations.Austria.Tests │ │ └── GlobalUsings.cs └── Sweden │ └── Mews.Fiscalizations.Sweden │ └── Models │ ├── RegisterStatusData.cs │ ├── StatusEnrollmentData.cs │ └── RegisterStatusResponse.cs ├── packageIcon.png ├── .github ├── PULL_REQUEST_TEMPLATE.md └── ISSUE_TEMPLATE │ └── bug_report.md └── .gitignore /src/Germany/Mews.Fiscalizations.Germany/GlobalUsings.cs: -------------------------------------------------------------------------------- 1 | global using FuncSharp; -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/GlobalUsings.cs: -------------------------------------------------------------------------------- 1 | global using FuncSharp; -------------------------------------------------------------------------------- /packageIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MewsSystems/fiscalizations/HEAD/packageIcon.png -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/GlobalUsings.cs: -------------------------------------------------------------------------------- 1 | // Global using directives 2 | 3 | global using FuncSharp; -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/GlobalUsings.cs: -------------------------------------------------------------------------------- 1 | global using FuncSharp; 2 | global using Mews.Fiscalizations.Core.Model; -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/GlobalUsings.cs: -------------------------------------------------------------------------------- 1 | global using FuncSharp; 2 | global using Mews.Fiscalizations.Core.Model; -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/Models/FiskalyError.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Fiskaly.Models; 2 | 3 | public enum FiskalyError 4 | { 5 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core.Tests/GlobalUsings.cs: -------------------------------------------------------------------------------- 1 | global using Mews.Fiscalizations.Core.Model; 2 | global using NUnit.Framework; 3 | global using FuncSharp; -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/Invoice/Customer.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public sealed class Customer 4 | { 5 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Environment.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque; 2 | 3 | public enum Environment 4 | { 5 | Test, 6 | Production 7 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Environment.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain; 2 | 3 | public enum Environment 4 | { 5 | Production, 6 | Test 7 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Region.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque; 2 | 3 | public enum Region 4 | { 5 | Gipuzkoa, 6 | Araba, 7 | Bizkaia 8 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/NavEnvironment.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary; 2 | 3 | public enum NavEnvironment 4 | { 5 | Test, 6 | Live 7 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Model/InvoiceState.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque.Model; 2 | 3 | public enum InvoiceState 4 | { 5 | Received = 00, 6 | Refused = 01 7 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Xml/Signing/License/LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MewsSystems/fiscalizations/HEAD/src/Core/Mews.Fiscalizations.Core/Xml/Signing/License/LICENSE.txt -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Xml/Signing/License/authors.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MewsSystems/fiscalizations/HEAD/src/Core/Mews.Fiscalizations.Core/Xml/Signing/License/authors.txt -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/DTOs/FiskalyEnvironment.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Fiskaly.DTOs; 2 | 3 | internal enum FiskalyEnvironment 4 | { 5 | TEST, 6 | LIVE 7 | } -------------------------------------------------------------------------------- /src/Austria/Mews.Fiscalizations.Austria/ATrust/ATrustEnvironment.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Austria.ATrust; 2 | 3 | public enum ATrustEnvironment 4 | { 5 | Production, 6 | Test 7 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/Models/FiskalyEnvironment.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Fiskaly.Models; 2 | 3 | public enum FiskalyEnvironment 4 | { 5 | Test, 6 | Production 7 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Dto/ClientState.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Germany.V2.Dto; 2 | 3 | internal enum ClientState 4 | { 5 | REGISTERED, 6 | DEREGISTERED 7 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Dto/FiskalyEnvironment.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Germany.V2.Dto; 2 | 3 | internal enum FiskalyEnvironment 4 | { 5 | TEST, 6 | LIVE 7 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Model/ClientState.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Germany.V2.Model; 2 | 3 | public enum ClientState 4 | { 5 | Registered, 6 | Deregistered 7 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/Result/TaxPayerErrorCode.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public enum TaxPayerErrorCode 4 | { 5 | InvalidTaxPayer 6 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/SoftwareType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public enum SoftwareType 4 | { 5 | LocalSoftware, 6 | OnlineService 7 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Model/FiskalyEnvironment.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Germany.V2.Model; 2 | 3 | public enum FiskalyEnvironment 4 | { 5 | Test, 6 | Production 7 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/SdiError.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 2 | 3 | public enum SdiError 4 | { 5 | ServiceUnavailable, 6 | UnauthorizedUser 7 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Model/Enums/ErrorType.cs: -------------------------------------------------------------------------------- 1 | 2 | namespace Mews.Fiscalizations.Spain.Model.Enums; 3 | 4 | public enum ErrorType 5 | { 6 | CertificateRevoked, 7 | Unknown 8 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/Models/ErrorResult.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Fiskaly.Models; 2 | 3 | public sealed record ErrorResult(int Status, string Code, string Error, string Message); -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/AddressType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public enum AddressType 4 | { 5 | HQ = 0, 6 | SITE = 1, 7 | BRANCH = 2 8 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/Invoice/MeasurementUnit.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public enum MeasurementUnit 4 | { 5 | Night = 1, 6 | Piece = 2 7 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/Result/TransactionErrorCode.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public enum TransactionErrorCode 4 | { 5 | InvalidTransactionId 6 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/Result/ExchangeTokenErrorCode.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public enum ExchangeTokenErrorCode 4 | { 5 | InvalidEncryptionKey 6 | } -------------------------------------------------------------------------------- /src/Austria/Mews.Fiscalizations.Austria.Tests/GlobalUsings.cs: -------------------------------------------------------------------------------- 1 | global using NUnit.Framework; 2 | global using TimeZoneConverter; 3 | global using System.Globalization; 4 | global using System.Runtime.InteropServices; -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque.Tests/GlobalUsings.cs: -------------------------------------------------------------------------------- 1 | global using FuncSharp; 2 | global using Mews.Fiscalizations.Basque.Model; 3 | global using Mews.Fiscalizations.Core.Model; 4 | global using NUnit.Framework; -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Xml/Signing/License/CLR-Security-LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MewsSystems/fiscalizations/HEAD/src/Core/Mews.Fiscalizations.Core/Xml/Signing/License/CLR-Security-LICENSE.txt -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Model/TransactionState.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Germany.V2.Model; 2 | 3 | public enum TransactionState 4 | { 5 | Active, 6 | Canceled, 7 | Finished 8 | } -------------------------------------------------------------------------------- /src/Sweden/Mews.Fiscalizations.Sweden/Models/RegisterStatusData.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Sweden.Models; 2 | 3 | public sealed record RegisterStatusData(long OrganizationNumber, string OrganizationRegisterId); -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/DTOs/SignES/Taxpayers/TaxpayerState.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Fiskaly.DTOs.SignES.Taxpayers; 2 | 3 | public enum TaxpayerState 4 | { 5 | ENABLED, 6 | DISABLED 7 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/DTOs/SignES/Taxpayers/TaxpayerType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Fiskaly.DTOs.SignES.Taxpayers; 2 | 3 | internal enum TaxpayerType 4 | { 5 | COMPANY, 6 | INDIVIDUAL 7 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/Models/SignES/ClientDevices/ClientDevice.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Fiskaly.Models.SignES.ClientDevices; 2 | 3 | public sealed record ClientDevice(Guid ClientId, Guid SignerId); -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany.Tests/GlobalUsings.cs: -------------------------------------------------------------------------------- 1 | global using FuncSharp; 2 | global using Mews.Fiscalizations.Germany.V2.Model; 3 | global using Mews.Fiscalizations.Germany.V2; 4 | global using NUnit.Framework; -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary.Tests/GlobalUsings.cs: -------------------------------------------------------------------------------- 1 | global using FuncSharp; 2 | global using Mews.Fiscalizations.Core.Model; 3 | global using Mews.Fiscalizations.Hungary.Models; 4 | global using NUnit.Framework; -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/Invoice/ValidationResultCode.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public enum ValidationResultCode 4 | { 5 | Error, 6 | Warning, 7 | Info 8 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Model/Enums/RegisterResult.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Model; 2 | 3 | public enum RegisterResult 4 | { 5 | Correct, 6 | PartialyIncorrect, 7 | AllIncorrect 8 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Xml/Signing/License/Microsoft.Xades-LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MewsSystems/fiscalizations/HEAD/src/Core/Mews.Fiscalizations.Core/Xml/Signing/License/Microsoft.Xades-LICENSE.txt -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Model/IssuerType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque.Model; 2 | 3 | public enum IssuerType 4 | { 5 | IssuedByIssuer, 6 | IssuedByThirdParty, 7 | IssuedByTransactionRecipient 8 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/Models/SignES/Taxpayers/TaxpayerType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Fiskaly.Models.SignES.Taxpayers; 2 | 3 | public enum TaxpayerType 4 | { 5 | Company = 0, 6 | Individual = 1 7 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/GlobalUsings.cs: -------------------------------------------------------------------------------- 1 | global using FuncSharp; 2 | global using Mews.Fiscalizations.Hungary.Models; 3 | global using Mews.Fiscalizations.Hungary.Utils; 4 | global using Mews.Fiscalizations.Core.Model; -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Model/Enums/CommunicationType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Model; 2 | 3 | public enum CommunicationType 4 | { 5 | Registration, 6 | Amendment, 7 | AmendmentForTravellers 8 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Model/Enums/InvoiceRegisterResult.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Model; 2 | 3 | public enum InvoiceRegisterResult 4 | { 5 | Accepted, 6 | AcceptedWithErrors, 7 | Rejected 8 | } -------------------------------------------------------------------------------- /src/Austria/Mews.Fiscalizations.Austria/ISigner.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Austria.Dto; 2 | 3 | namespace Mews.Fiscalizations.Austria; 4 | 5 | public interface ISigner 6 | { 7 | Task SignAsync(QrData qrData); 8 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque.Tests/EntitateOrdezkaria_RepresentanteDeEntidad.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MewsSystems/fiscalizations/HEAD/src/Basque/Mews.Fiscalizations.Basque.Tests/EntitateOrdezkaria_RepresentanteDeEntidad.p12 -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/DTOs/Management/Organizations/ApiKeyStatusEnum.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Fiskaly.DTOs.Management.Organizations; 2 | 3 | public enum ApiKeyStatusEnum 4 | { 5 | enabled, 6 | disabled 7 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/Models/SignES/Taxpayers/SignedTaxpayerAgreement.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Fiskaly.Models.SignES.Taxpayers; 2 | 3 | public record SignedTaxpayerAgreement(string DocumentUrl, DateTime CreatedAt); -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Model/CorrectingInvoiceType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque.Model; 2 | 3 | public enum CorrectingInvoiceType 4 | { 5 | CorrectiveInvoiceForReplacement, 6 | CorrectiveInvoiceForDifferences 7 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/Models/SignES/Invoices/CompleteInvoice.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Fiskaly.Models.SignES.Invoices; 2 | 3 | public sealed record CompleteInvoice(SimplifiedInvoice SimplifiedInvoice, List Receivers); -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/Invoice/PaymentMethod.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public enum PaymentMethod 4 | { 5 | Transfer, 6 | Cash, 7 | Card, 8 | Voucher, 9 | Other 10 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/TaxPayer/IncorporationType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public enum IncorporationType 4 | { 5 | Organization = 0, 6 | SelfEmployed = 1, 7 | TaxablePerson = 2 8 | } -------------------------------------------------------------------------------- /src/Sweden/Mews.Fiscalizations.Sweden/Models/StatusEnrollmentData.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Sweden.Models; 2 | 3 | public sealed class StatusEnrollmentData(string registerId) 4 | { 5 | public string RegisterId { get; } = registerId; 6 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/Invoice/InvoiceState.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public enum InvoiceState 4 | { 5 | Received, 6 | Processing, 7 | Saved, 8 | Done, 9 | Aborted, 10 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Xml/Signing/Signature/Parameters/DataFormat.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Core.Xml.Signing.Signature.Parameters; 2 | 3 | public sealed record DataFormat(string MimeType, string Description = null, string TypeIdentifier = null); -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Model/Error.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Core.Model; 2 | 3 | public class Error 4 | { 5 | public Error(string message) 6 | { 7 | Message = message; 8 | } 9 | 10 | public string Message { get; } 11 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Dto/TssState.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Germany.V2.Dto; 2 | 3 | internal enum TssState 4 | { 5 | CREATED, 6 | UNINITIALIZED, 7 | INITIALIZED, 8 | DISABLED, 9 | DELETED, 10 | DEFECTIVE 11 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Model/TssState.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Germany.V2.Model; 2 | 3 | public enum TssState 4 | { 5 | Created, 6 | Uninitialized, 7 | Initialized, 8 | Disabled, 9 | Deleted, 10 | Defective 11 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Uniwix/Communication/Dto/Response.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Italy.Uniwix.Communication.Dto; 2 | 3 | internal class Response 4 | { 5 | public int Code { get; set; } 6 | 7 | public TResponse Result { get; set; } 8 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/RitenutaType.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 4 | 5 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 6 | public enum RitenutaType 7 | { 8 | SI, 9 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Dto/AdminLoginRequest.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Mews.Fiscalizations.Germany.V2.Dto; 4 | 5 | internal sealed class AdminLoginRequest 6 | { 7 | [JsonProperty("admin_pin")] 8 | public string AdminPin { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Uniwix/Communication/Dto/UniwixProcesingState.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Italy.Uniwix.Communication.Dto; 2 | 3 | internal enum UniwixProcesingState 4 | { 5 | Waiting = 1, 6 | Processed = 5, 7 | Accepted = 6, 8 | Rejected = 7 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Model/Enums/CauseOfExemption.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Model; 2 | 3 | public enum CauseOfExemption 4 | { 5 | Article20, 6 | Article21, 7 | Article22, 8 | Article24, 9 | Article25, 10 | OtherGrounds 11 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Model/Invoice/CauseOfExemption.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque.Model; 2 | 3 | public enum CauseOfExemption 4 | { 5 | Article20, 6 | Article21, 7 | Article22, 8 | Article24, 9 | Article25, 10 | OtherGrounds 11 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/DTOs/SignES/ContentWrapper.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Fiskaly.DTOs.SignES; 4 | 5 | public class ContentWrapper 6 | { 7 | [JsonPropertyName("content")] 8 | public T Content { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Dto/CreateClientRequest.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Mews.Fiscalizations.Germany.V2.Dto; 4 | 5 | internal sealed class CreateClientRequest 6 | { 7 | [JsonProperty("serial_number")] 8 | public string SerialNumber { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/IssuerType.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 4 | 5 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 6 | public enum IssuerType 7 | { 8 | CC, 9 | TZ, 10 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Model/IdType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque.Model; 2 | 3 | public enum IdType 4 | { 5 | NifVat, 6 | Passport, 7 | OfficialIdentificationDocumentIssuedByTheCountry, 8 | ResidenceCertificate, 9 | OtherSupportingDocument 10 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/Models/SignES/Taxpayers/TaxpayerAgreementRepresentative.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Fiskaly.Models.SignES.Taxpayers; 2 | 3 | public record TaxpayerAgreementRepresentative( 4 | string FullName, 5 | string TaxNumber, 6 | TaxpayerAddress Address); -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Dto/CreateTssResponse.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Mews.Fiscalizations.Germany.V2.Dto; 4 | 5 | internal sealed class CreateTssResponse : TssResponse 6 | { 7 | [JsonProperty("admin_puk")] 8 | public string AdminPuk { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Dto/MultipleTssResponse.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Mews.Fiscalizations.Germany.V2.Dto; 4 | 5 | internal sealed class MultipleTssResponse 6 | { 7 | [JsonProperty("data")] 8 | public IEnumerable TssList { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Dto/MultipleClientResponse.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Mews.Fiscalizations.Germany.V2.Dto; 4 | 5 | internal class MultipleClientResponse 6 | { 7 | [JsonProperty("data")] 8 | public IEnumerable Clients { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/Art73Type.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 4 | 5 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 6 | public enum Art73Type 7 | { 8 | [XmlEnum("SI")] 9 | Yes 10 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/Models/SignES/Signers/Signer.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Fiskaly.Models.SignES.Signers; 2 | 3 | public sealed record Signer(Guid Id, SignerCertificate Certificate); 4 | 5 | public sealed record SignerCertificate(string SerialNumber, string Data, DateTime Expiration); -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/Utils/Extensions.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Germany.Utils; 2 | 3 | internal static class Extensions 4 | { 5 | public static DateTime FromUnixTime(this long value) 6 | { 7 | return DateTimeOffset.FromUnixTimeSeconds(value).DateTime; 8 | } 9 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/Models/Management/Organizations/ManagedOrganizationApiKey.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Fiskaly.Models.Management.Organizations; 2 | 3 | public class ManagedOrganizationApiKey 4 | { 5 | public string Key { get; set; } 6 | 7 | public string Secret { get; set; } 8 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Dto/FinishTransactionRequest.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Mews.Fiscalizations.Germany.V2.Dto; 4 | 5 | internal sealed class FinishTransactionRequest : TransactionRequest 6 | { 7 | [JsonProperty("schema")] 8 | public Schema Schema { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/TransmissionFormat.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 4 | 5 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 6 | public enum TransmissionFormat 7 | { 8 | FPA12, 9 | FPR12 10 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/Models/SignES/Taxpayers/TaxpayerAddress.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Fiskaly.Models.SignES.Taxpayers; 2 | 3 | public record TaxpayerAddress(string Municipality, 4 | string City, 5 | string Street, 6 | string PostalCode, 7 | string Number, 8 | string Country); -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Model/Extensions/ITryExtensions.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Core.Model; 2 | 3 | public static class ITryExtensions 4 | { 5 | public static T GetUnsafe(this Try value) 6 | { 7 | return value.Get(error => new ArgumentException(error.Message)); 8 | } 9 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/Result/ResultErrorCode.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public enum ResultErrorCode 4 | { 5 | InvalidCredentials = 1, 6 | MaintenanceMode = 2, 7 | UnauthorizedUser = 3, 8 | InvalidSigningKey = 4, 9 | InvalidRequest = 5 10 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Model/CorrectingInvoiceCode.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque.Model; 2 | 3 | public enum CorrectingInvoiceCode 4 | { 5 | CorrectedInvoice, 6 | CorrectedInvoice2, 7 | CorrectedInvoice3, 8 | CorrectedInvoice4, 9 | CorrectedInvoiceInSimplifiedInvoices, 10 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/Models/SignES/Invoices/CorrectingInvoice.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Fiskaly.Models.SignES.Invoices; 2 | 3 | public record CorrectingSimplifiedInvoice(Guid InvoiceId, SimplifiedInvoice Invoice); 4 | 5 | public record CorrectingCompleteInvoice(Guid InvoiceId, CompleteInvoice Invoice); -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/DTOs/SignES/Taxpayers/Territory.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Fiskaly.DTOs.SignES.Taxpayers; 2 | 3 | internal enum Territory 4 | { 5 | ARABA, 6 | BIZKAIA, 7 | GIPUZKOA, 8 | NAVARRE, 9 | CANARY_ISLANDS, 10 | CEUTA, 11 | MELILLA, 12 | SPAIN_OTHER 13 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Model/Enums/Month.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Model; 2 | 3 | public enum Month 4 | { 5 | January, 6 | February, 7 | March, 8 | April, 9 | May, 10 | June, 11 | July, 12 | August, 13 | September, 14 | October, 15 | November, 16 | December 17 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Model/Countries/NonEuropeanUnionCountry.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Core.Model; 2 | 3 | public class NonEuropeanUnionCountry 4 | { 5 | internal NonEuropeanUnionCountry(string alpha2Code) 6 | { 7 | Alpha2Code = alpha2Code; 8 | } 9 | 10 | public string Alpha2Code { get; } 11 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/StampDutyPaid.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 4 | 5 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 6 | public enum StampDutyPaid 7 | { 8 | /// 9 | /// Yes. 10 | /// 11 | SI, 12 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Model/Collections/Indexed.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Core.Model; 2 | 3 | public sealed class Indexed 4 | { 5 | public Indexed(int index, T value) 6 | { 7 | Index = index; 8 | Value = value; 9 | } 10 | 11 | public int Index { get; } 12 | 13 | public T Value { get; } 14 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/DTOs/SignES/Taxpayers/SignedTaxpayerAgreementRequest.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Fiskaly.DTOs.SignES.Taxpayers; 4 | 5 | internal sealed class SignedTaxpayerAgreementRequest 6 | { 7 | [JsonPropertyName("binary")] 8 | public string Document { get; init; } 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Model/Enums/ResidenceCountryIdentificatorType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Model; 2 | 3 | public enum ResidenceCountryIdentificatorType 4 | { 5 | Passport, 6 | OfficialIdentificationDocumentIssuedByTheCountry, 7 | ResidenceCertificate, 8 | OtherSupportingDocument, 9 | NotSelected 10 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/DTOs/SignES/Signers/MultipleSignerResponse.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Fiskaly.DTOs.SignES.Signers; 4 | 5 | internal sealed class MultipleSignerResponse 6 | { 7 | [JsonPropertyName("results")] 8 | public List> Results { get; init; } 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Converters/NumberExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Globalization; 2 | 3 | namespace Mews.Fiscalizations.Spain.Converters; 4 | 5 | public static class NumberExtensions 6 | { 7 | internal static string Serialize(this decimal value) 8 | { 9 | return value.ToString("F2", CultureInfo.InvariantCulture); 10 | } 11 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/VersioneSchemaType.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 4 | 5 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 6 | public enum VersioneSchemaType 7 | { 8 | [XmlEnum("FPA12")] 9 | FPA12, 10 | [XmlEnum("FPR12")] 11 | FPR12 12 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Utils/FileUtils.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Italy.Utils; 2 | 3 | public static class FileUtils 4 | { 5 | public static string SanitizePath(string path) 6 | { 7 | var illegalChars = Path.GetInvalidPathChars(); 8 | return new String(path.Where(c => !illegalChars.Contains(c)).ToArray()); 9 | } 10 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/DTOs/SignES/ClientDevices/MultipleClientResponse.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Fiskaly.DTOs.SignES.ClientDevices; 4 | 5 | internal sealed class MultipleClientResponse 6 | { 7 | [JsonPropertyName("results")] 8 | public List> Results { get; init; } 9 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/Models/SignES/Taxpayers/TaxpayerTerritory.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Fiskaly.Models.SignES.Taxpayers; 2 | 3 | public enum TaxpayerTerritory 4 | { 5 | Araba = 0, 6 | Bizkaia = 1, 7 | Gipuzkoa = 2, 8 | Navarre = 3, 9 | CanaryIslands = 4, 10 | Ceuta = 5, 11 | Melilla = 6, 12 | SpainOther = 7 13 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Dto/UpdateTssRequest.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using Newtonsoft.Json.Converters; 3 | 4 | namespace Mews.Fiscalizations.Germany.V2.Dto; 5 | 6 | internal sealed class UpdateTssRequest 7 | { 8 | [JsonProperty("state")] 9 | [JsonConverter(typeof(StringEnumConverter))] 10 | public TssState State { get; set; } 11 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/LiquidationState.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 4 | 5 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 6 | public enum LiquidationState 7 | { 8 | [XmlEnum("LS")] 9 | InLiquidation, 10 | [XmlEnum("LN")] 11 | NotInLiquidation 12 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/WithholdingType.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 4 | 5 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 6 | public enum WithholdingType 7 | { 8 | [XmlEnum("RT01")] 9 | NaturalPerson, 10 | [XmlEnum("RT02")] 11 | LegalPerson, 12 | } -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | Please include a summary of the change and which issue is fixed. 4 | 5 | Fixes #issue 6 | 7 | ## Type of change 8 | - [ ] Bug fix. 9 | - [ ] Feature. 10 | - [ ] Consolidation. 11 | 12 | ## Checklist 13 | - [ ] Is breaking change. 14 | - [ ] Documentation updated. 15 | - [ ] Tests included (please specify cases). 16 | -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Validations/ObjectValidations.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Core.Model; 2 | 3 | public static class ObjectValidations 4 | { 5 | public static Try NotNull(T value) 6 | where T : class 7 | { 8 | return value.ToTry(v => v is not null, _ => new Error($"{typeof(T).Name} cannot be null.")); 9 | } 10 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Notifications/ClientOutcome.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.Notifications; 4 | 5 | [XmlType(Namespace = "http://www.fatturapa.gov.it/sdi/messaggi/v1.0")] 6 | public enum ClientOutcome 7 | { 8 | [XmlEnum("Ec01")] 9 | Approved, 10 | [XmlEnum("Ec02")] 11 | Rejected, 12 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Uniwix/Errors/ErrorType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Italy.Uniwix.Errors; 2 | 3 | public enum ErrorType 4 | { 5 | Connection, 6 | Unauthorized, 7 | Validation, 8 | Unknown, 9 | InvoiceNotFound, 10 | FileExistsInQueue, 11 | InsufficientCredit, 12 | InvoiceStatusNotFound, 13 | FileNotAvailable 14 | } -------------------------------------------------------------------------------- /src/Austria/Mews.Fiscalizations.Austria/ATrust/ATrustSignerResponse.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Mews.Fiscalizations.Austria.ATrust; 4 | 5 | public sealed class ATrustSignerResponse 6 | { 7 | [JsonProperty("result")] 8 | public string JwsRepresentation { get; set; } 9 | 10 | [JsonProperty("alg")] 11 | public string Algorithm { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/Models/SignES/Audit/SoftwareAuditData.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Fiskaly.Models.SignES.Audit; 2 | 3 | public sealed record SoftwareAuditData( 4 | string CompanyLegalName, 5 | string CompanyTaxIdentifier, 6 | string SoftwareName, 7 | string License, 8 | string Version, 9 | string ResponsibilityDeclaration 10 | ); -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/Models/SignES/Taxpayers/Taxpayer.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Fiskaly.Models.SignES.Taxpayers; 2 | 3 | public sealed record Taxpayer(string LegalName, string TaxIdentifier, TaxpayerTerritory Territory, TaxpayerState State, TaxpayerType Type = TaxpayerType.Company); 4 | 5 | public enum TaxpayerState 6 | { 7 | Enabled, 8 | Disabled 9 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Dto/AdminSetPinRequest.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Mews.Fiscalizations.Germany.V2.Dto; 4 | 5 | internal sealed class AdminSetPinRequest 6 | { 7 | [JsonProperty("admin_puk")] 8 | public string AdminPuk { get; set; } 9 | 10 | [JsonProperty("new_admin_pin")] 11 | public string NewAdminPin { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Dto/UpdateClientRequest.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using Newtonsoft.Json.Converters; 3 | 4 | namespace Mews.Fiscalizations.Germany.V2.Dto; 5 | 6 | internal sealed class UpdateClientRequest 7 | { 8 | [JsonProperty("state")] 9 | [JsonConverter(typeof(StringEnumConverter))] 10 | public ClientState State { get; set; } 11 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/Responses/SoapFault/SoapFaultResultBody.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Spain.Dto.Responses.SoapFault; 4 | 5 | [XmlType(AnonymousType = true, Namespace = "http://schemas.xmlsoap.org/soap/envelope/")] 6 | public class SoapFaultResultBody 7 | { 8 | public SoapFaultResultBodyFault Fault { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Austria/Mews.Fiscalizations.Austria/Dto/EncryptedTurnover.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Austria.Dto; 2 | 3 | public sealed class EncryptedTurnover : ByteValue 4 | { 5 | public EncryptedTurnover(byte[] value) 6 | : base(value) 7 | { 8 | } 9 | 10 | public EncryptedTurnover(string base64Value) 11 | : base(base64Value) 12 | { 13 | } 14 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Dto/AuthorizationTokenRequest.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Mews.Fiscalizations.Germany.V2.Dto; 4 | 5 | internal sealed class AuthorizationTokenRequest 6 | { 7 | [JsonProperty("api_key")] 8 | public string ApiKey { get; set; } 9 | 10 | [JsonProperty("api_secret")] 11 | public string ApiSecret { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Uniwix/Communication/Dto/PostInvoiceResponse.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Mews.Fiscalizations.Italy.Uniwix.Communication.Dto; 4 | 5 | internal class PostInvoiceResponse 6 | { 7 | [JsonProperty("fid")] 8 | public string FileId { get; set; } 9 | 10 | [JsonProperty("msg")] 11 | public string Message { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/XmlMessageSerializedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System.Xml; 2 | 3 | namespace Mews.Fiscalizations.Spain; 4 | 5 | public class XmlMessageSerializedEventArgs : EventArgs 6 | { 7 | public XmlMessageSerializedEventArgs(XmlElement xmlElement) 8 | { 9 | XmlElement = xmlElement; 10 | } 11 | 12 | public XmlElement XmlElement { get; } 13 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Model/Software/LocalSoftwareDeveloper.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque.Model; 2 | 3 | public sealed class LocalSoftwareDeveloper 4 | { 5 | public LocalSoftwareDeveloper(TaxpayerIdentificationNumber nif) 6 | { 7 | Nif = Check.IsNotNull(nif, nameof(nif)); 8 | } 9 | 10 | public TaxpayerIdentificationNumber Nif { get; } 11 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/DTOs/SignES/Signers/UpdateSignerRequest.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Fiskaly.DTOs.SignES.Signers; 4 | 5 | internal sealed class UpdateSignerRequest 6 | { 7 | [JsonPropertyName("state")] 8 | [JsonConverter(typeof(JsonStringEnumConverter))] 9 | public SignerState State { get; init; } 10 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/ShareholderDistribution.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 4 | 5 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 6 | public enum ShareholderDistribution 7 | { 8 | [XmlEnum("SU")] 9 | SingleShareholder, 10 | [XmlEnum("SM")] 11 | MultipleShareholders 12 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/VatDueDate.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 4 | 5 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 6 | public enum VatDueDate 7 | { 8 | [XmlEnum("D")] 9 | Deferred, 10 | [XmlEnum("I")] 11 | Immediate, 12 | [XmlEnum("S")] 13 | SplitPayment, 14 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/XmlSignature/ItemsChoice2.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.XmlSignature; 4 | 5 | [Serializable, XmlType(Namespace = "http://www.w3.org/2000/09/xmldsig#", IncludeInSchema = false)] 6 | public enum ItemsChoice2 7 | { 8 | [XmlEnum("##any:")] 9 | Item, 10 | PGPKeyID, 11 | PGPKeyPacket, 12 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Uniwix/Communication/Dto/ValidationError.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Mews.Fiscalizations.Italy.Uniwix.Communication.Dto; 4 | 5 | internal class ValidationError 6 | { 7 | [JsonProperty("message")] 8 | public string Message { get; set; } 9 | 10 | [JsonProperty("errors")] 11 | public IEnumerable Errors { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/DTOs/SignES/ClientDevices/UpdateClientRequest.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Fiskaly.DTOs.SignES.ClientDevices; 4 | 5 | internal sealed class UpdateClientRequest 6 | { 7 | [JsonPropertyName("state")] 8 | [JsonConverter(typeof(JsonStringEnumConverter))] 9 | public ClientState State { get; init; } 10 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/DTOs/SignES/Taxpayers/UpdateTaxpayerRequest.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Fiskaly.DTOs.SignES.Taxpayers; 4 | 5 | internal sealed class UpdateTaxpayerRequest 6 | { 7 | [JsonPropertyName("state")] 8 | [JsonConverter(typeof(JsonStringEnumConverter))] 9 | public TaxpayerState State { get; init; } 10 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Model/Item.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Germany.V2.Model; 2 | 3 | public sealed class Item 4 | { 5 | public Item(decimal amount, VatRateType vatRateType) 6 | { 7 | Amount = amount; 8 | VatRateType = vatRateType; 9 | } 10 | 11 | public decimal Amount { get; } 12 | 13 | public VatRateType VatRateType { get; } 14 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Model/Enums/InvoiceType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Model; 2 | 3 | public enum InvoiceType 4 | { 5 | Invoice, 6 | CorrectedInvoice, 7 | CorrectedInvoice2, 8 | CorrectedInvoice3, 9 | CorrectedInvoice4, 10 | CorrectedInvoiceInSimplifiedInvoices, 11 | InvoiceIssuedToReplaceSimplifiedInvoices, 12 | InvoiceSummaryEntry 13 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Model/Request/TaxPeriod.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Model.Request; 2 | 3 | public sealed class TaxPeriod 4 | { 5 | public TaxPeriod(Year year, Month month) 6 | { 7 | Year = Check.IsNotNull(year, nameof(year)); 8 | Month = month; 9 | } 10 | 11 | public Year Year { get; } 12 | 13 | public Month Month { get; } 14 | } -------------------------------------------------------------------------------- /src/Austria/Mews.Fiscalizations.Austria/AesKeyGenerator.cs: -------------------------------------------------------------------------------- 1 | using Org.BouncyCastle.Security; 2 | 3 | namespace Mews.Fiscalizations.Austria; 4 | 5 | public sealed class AesKeyGenerator 6 | { 7 | public static byte[] GetNext() 8 | { 9 | var random = new SecureRandom(); 10 | var bytes = new byte[32]; 11 | random.NextBytes(bytes); 12 | return bytes; 13 | } 14 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/Types/AmountValue.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public sealed class AmountValue 4 | { 5 | public AmountValue(decimal value) 6 | { 7 | Check.Digits(value, maxdigitCount: 18); 8 | Check.Precision(value, maxPrecision: 2); 9 | Value = value; 10 | } 11 | 12 | public decimal Value { get; } 13 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/PaymentTerms.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 4 | 5 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 6 | public enum PaymentTerms 7 | { 8 | [XmlEnum("TP01")] 9 | Installments, 10 | [XmlEnum("TP02")] 11 | LumpSum, 12 | [XmlEnum("TP03")] 13 | InAdvance, 14 | } -------------------------------------------------------------------------------- /src/Austria/Mews.Fiscalizations.Austria/Dto/Identifiers/Identifier.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Austria.Dto.Identifiers; 2 | 3 | public abstract class Identifier 4 | { 5 | protected Identifier(T value) 6 | { 7 | Value = value; 8 | } 9 | 10 | public T Value { get; } 11 | 12 | public override string ToString() 13 | { 14 | return Value.ToString(); 15 | } 16 | } -------------------------------------------------------------------------------- /src/Austria/Mews.Fiscalizations.Austria/Dto/Identifiers/ReceiptNumber.cs: -------------------------------------------------------------------------------- 1 | using System.Text.RegularExpressions; 2 | 3 | namespace Mews.Fiscalizations.Austria.Dto.Identifiers; 4 | 5 | public class ReceiptNumber : StringIdentifier 6 | { 7 | public static readonly Regex Pattern = new Regex(".+"); 8 | 9 | public ReceiptNumber(string value) 10 | : base(value, Pattern) 11 | { 12 | } 13 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/CuponType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public enum CuponType 6 | { 7 | S, 8 | N, 9 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/Invoice/TransactionStatus.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public sealed class TransactionStatus 4 | { 5 | public TransactionStatus(IEnumerable> invoiceStatuses) 6 | { 7 | InvoiceStatuses = invoiceStatuses.ToList(); 8 | } 9 | 10 | public List> InvoiceStatuses { get; } 11 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaConsultaLR/FacturaARType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaConsultaLR; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaConsultaLR.xsd")] 5 | public enum FacturaARType 6 | { 7 | S, 8 | N, 9 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Uniwix/Communication/Dto/SdiState.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Italy.Uniwix.Communication.Dto; 2 | 3 | public enum SdiState 4 | { 5 | Pending = 0, 6 | Delivered = 1, 7 | DeliveryFailed = 2, 8 | RejectedBySdi = 3, 9 | DeliveryImpossible = 4, 10 | DeadlinePassed = 5, 11 | Processed = 6, 12 | AcceptedByClient = 7, 13 | RejectedByClient = 8 14 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/MacrodatoType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public enum MacrodatoType 6 | { 7 | S, 8 | N, 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Model/Response/LocalCompany.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Model.Response; 2 | 3 | public sealed class LocalCompany 4 | { 5 | public LocalCompany(string name, string taxpayerNumber) 6 | { 7 | Name = name; 8 | TaxpayerNumber = taxpayerNumber; 9 | } 10 | 11 | public string Name { get; } 12 | 13 | public string TaxpayerNumber { get; } 14 | } -------------------------------------------------------------------------------- /src/Austria/Mews.Fiscalizations.Austria/Dto/Identifiers/RegisterIdentifier.cs: -------------------------------------------------------------------------------- 1 | using System.Text.RegularExpressions; 2 | 3 | namespace Mews.Fiscalizations.Austria.Dto.Identifiers; 4 | 5 | public class RegisterIdentifier : StringIdentifier 6 | { 7 | public static readonly Regex Pattern = new Regex(".+"); 8 | 9 | public RegisterIdentifier(string value) 10 | : base(value, Pattern) 11 | { 12 | } 13 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/DTOs/SignES/Taxpayers/TaxpayerIssuer.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Fiskaly.DTOs.SignES.Taxpayers; 4 | 5 | internal sealed class TaxpayerIssuer 6 | { 7 | [JsonPropertyName("legal_name")] 8 | public string LegalName { get; init; } 9 | 10 | [JsonPropertyName("tax_number")] 11 | public string TaxNumber { get; init; } 12 | } -------------------------------------------------------------------------------- /src/Austria/Mews.Fiscalizations.Austria/ATrust/ATrustCredentials.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Austria.ATrust; 2 | 3 | public sealed class ATrustCredentials 4 | { 5 | public ATrustCredentials(ATrustUserIdentifier user, string password) 6 | { 7 | User = user; 8 | Password = password; 9 | } 10 | 11 | public ATrustUserIdentifier User { get; } 12 | 13 | public string Password { get; } 14 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/DTOs/SignES/Auth/AuthorizationTokenRequest.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Fiskaly.DTOs.SignES.Auth; 4 | 5 | internal sealed class AuthorizationTokenRequest 6 | { 7 | [JsonPropertyName("api_key")] 8 | public string ApiKey { get; set; } 9 | 10 | [JsonPropertyName("api_secret")] 11 | public string ApiSecret { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/Intermediary.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Schema; 2 | using System.Xml.Serialization; 3 | 4 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 5 | 6 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 7 | public class Intermediary 8 | { 9 | [XmlElement("DatiAnagrafici", Form = XmlSchemaForm.Unqualified)] 10 | public SimpleIdentityData IdentityData { get; set; } 11 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/SdiFileInfo.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 2 | 3 | public class SdiFileInfo 4 | { 5 | public SdiFileInfo(DateTime receivedUtc, string sdiIdentifier) 6 | { 7 | ReceivedUtc = receivedUtc; 8 | SdiIdentifier = sdiIdentifier; 9 | } 10 | 11 | public DateTime ReceivedUtc { get; } 12 | 13 | public string SdiIdentifier { get; } 14 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Uniwix/Communication/Dto/SendInvoiceResult.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Italy.Uniwix.Communication.Dto; 2 | 3 | public class SendInvoiceResult 4 | { 5 | public SendInvoiceResult(string fileId, string message) 6 | { 7 | FileId = fileId; 8 | Message = message; 9 | } 10 | 11 | public string FileId { get; } 12 | 13 | public string Message { get; } 14 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/ClaveOperacionType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public enum ClaveOperacionType 6 | { 7 | A, 8 | B, 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/HttpRequestFinishedEventArgs.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain; 2 | 3 | public class HttpRequestFinishedEventArgs : EventArgs 4 | { 5 | public HttpRequestFinishedEventArgs(string response, long duration) 6 | { 7 | Response = response; 8 | Duration = duration; 9 | } 10 | 11 | public string Response { get; } 12 | 13 | public long Duration { get; } 14 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Uniwix/Communication/UniwixClientConfiguration.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Italy.Uniwix.Communication; 2 | 3 | public class UniwixClientConfiguration 4 | { 5 | public UniwixClientConfiguration(string key, string password) 6 | { 7 | Key = key; 8 | Password = password; 9 | } 10 | 11 | public string Key { get; } 12 | 13 | public string Password { get; } 14 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaConsultaLR/IndicadorPaginacionType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaConsultaLR; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaConsultaLR.xsd")] 5 | public enum IndicadorPaginacionType 6 | { 7 | S, 8 | N, 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/EmitidaPorTercerosType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public enum EmitidaPorTercerosType 6 | { 7 | S, 8 | N, 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/FacturaModificadaType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public enum FacturaModificadaType 6 | { 7 | S, 8 | N, 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Model/Types/Year.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Model; 2 | 3 | public sealed class Year 4 | { 5 | private Year(int value) 6 | { 7 | Value = value; 8 | } 9 | 10 | public int Value { get; } 11 | 12 | public static Try Create(int value) 13 | { 14 | return IntValidations.InRange(value, 1000, 10000).Map(v => new Year(v)); 15 | } 16 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/TaxRepresentative.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Schema; 2 | using System.Xml.Serialization; 3 | 4 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 5 | 6 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 7 | public class TaxRepresentative 8 | { 9 | [XmlElement("DatiAnagrafici", Form = XmlSchemaForm.Unqualified)] 10 | public SimpleIdentityData IdentityData { get; set; } 11 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/VariosDestinatariosType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public enum VariosDestinatariosType 6 | { 7 | S, 8 | N, 9 | } -------------------------------------------------------------------------------- /src/Austria/Mews.Fiscalizations.Austria/Dto/Identifiers/CertificateSerialNumber.cs: -------------------------------------------------------------------------------- 1 | using System.Text.RegularExpressions; 2 | 3 | namespace Mews.Fiscalizations.Austria.Dto.Identifiers; 4 | 5 | public sealed class CertificateSerialNumber : StringIdentifier 6 | { 7 | public static readonly Regex Pattern = new Regex(".+"); 8 | 9 | public CertificateSerialNumber(string value) 10 | : base(value, Pattern) 11 | { 12 | } 13 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Xml/Signing/Signature/Parameters/SignatureXPathExpression.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Core.Xml.Signing.Signature.Parameters; 2 | 3 | public sealed class SignatureXPathExpression(string xPathExpression = null, Dictionary namespaces = null) 4 | { 5 | public string XPathExpression { get; } = xPathExpression; 6 | 7 | public Dictionary Namespaces { get; } = namespaces ?? []; 8 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/DTOs/Management/Auth/AuthorizationTokenRequest.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Fiskaly.DTOs.Management.Auth; 4 | 5 | 6 | internal sealed class AuthorizationTokenRequest 7 | { 8 | [JsonPropertyName("api_key")] 9 | public string ApiKey { get; set; } 10 | 11 | [JsonPropertyName("api_secret")] 12 | public string ApiSecret { get; set; } 13 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaConsultaLR/ResultadoConsultaType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaConsultaLR; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaConsultaLR.xsd")] 5 | public enum ResultadoConsultaType 6 | { 7 | ConDatos, 8 | SinDatos, 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/CompletaSinDestinatarioType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public enum CompletaSinDestinatarioType 6 | { 7 | S, 8 | N, 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/SimplificadaCualificadaType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public enum SimplificadaCualificadaType 6 | { 7 | S, 8 | N, 9 | } -------------------------------------------------------------------------------- /src/Sweden/Mews.Fiscalizations.Sweden/Models/RegisterStatusResponse.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Sweden.Models; 2 | 3 | public sealed record RegisterStatusResponse( 4 | string RequestXml, 5 | string ResponseXml, 6 | int ResponseCode, 7 | string ResponseMessage, 8 | string ResponseReason, 9 | string ApplicationId, 10 | string RequestId, 11 | string SkvResponseCode, 12 | string SkvResponseMessage 13 | ); -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/Models/ResponseResult.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Fiskaly.Models; 2 | 3 | public class ResponseResult(TResult successResult = null, ErrorResult errorResult = null) 4 | where TResult : class 5 | { 6 | public TResult SuccessResult { get; } = successResult; 7 | 8 | public ErrorResult ErrorResult { get; } = errorResult; 9 | 10 | public bool IsSuccess => ErrorResult is null; 11 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Dto/TransactionRequest.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using Newtonsoft.Json.Converters; 3 | 4 | namespace Mews.Fiscalizations.Germany.V2.Dto; 5 | 6 | internal class TransactionRequest 7 | { 8 | [JsonProperty("state")] 9 | [JsonConverter(typeof(StringEnumConverter))] 10 | public State State { get; set; } 11 | 12 | [JsonProperty("client_id")] 13 | public Guid ClientId { get; set; } 14 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/PriceAdjustmentType.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 4 | 5 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 6 | public enum PriceAdjustmentType 7 | { 8 | /// 9 | /// Discount. 10 | /// 11 | SC, 12 | /// 13 | /// Extra charge. 14 | /// 15 | MG, 16 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/XmlSignature/X509IssuerSerial.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.XmlSignature; 4 | 5 | [Serializable, XmlType(Namespace = "http://www.w3.org/2000/09/xmldsig#")] 6 | public class X509IssuerSerial 7 | { 8 | public string X509IssuerName { get; set; } 9 | 10 | [XmlElement(DataType = "integer")] 11 | public string X509SerialNumber { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Austria/Mews.Fiscalizations.Austria/ATrust/EndpointUrl.cs: -------------------------------------------------------------------------------- 1 | using System.Text.RegularExpressions; 2 | using Mews.Fiscalizations.Austria.Dto.Identifiers; 3 | 4 | namespace Mews.Fiscalizations.Austria.ATrust; 5 | 6 | public sealed class EndpointUrl : StringIdentifier 7 | { 8 | public static readonly Regex Pattern = new Regex("https?://.+[^/]"); 9 | 10 | public EndpointUrl(string url) 11 | : base(url, Pattern) 12 | { 13 | } 14 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Model/Invoice/TaxBreakdown/TaxExemptItem.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque.Model; 2 | 3 | public sealed class TaxExemptItem 4 | { 5 | public TaxExemptItem(Amount amount, CauseOfExemption cause) 6 | { 7 | Amount = Check.IsNotNull(amount, nameof(amount)); 8 | Cause = cause; 9 | } 10 | 11 | public Amount Amount { get; } 12 | 13 | public CauseOfExemption Cause { get; } 14 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Xml/XmlNamespace.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Core.Xml; 2 | 3 | public sealed class XmlNamespace 4 | { 5 | public XmlNamespace(string url) 6 | : this("", url) 7 | { 8 | } 9 | 10 | public XmlNamespace(string prefix, string url) 11 | { 12 | Prefix = prefix; 13 | Url = url; 14 | } 15 | 16 | public string Prefix { get; } 17 | 18 | public string Url { get; } 19 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/XmlSignature/Transforms.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.XmlSignature; 4 | 5 | [Serializable, XmlType(Namespace = "http://www.w3.org/2000/09/xmldsig#"), XmlRoot("Transforms", Namespace = "http://www.w3.org/2000/09/xmldsig#", IsNullable = false)] 6 | public class Transforms 7 | { 8 | [XmlElement("Transform")] 9 | public Transform[] Transform { get; set; } 10 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Model/Response/Header.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Model.Response; 2 | 3 | public sealed class Header 4 | { 5 | public Header(LocalCompany company, CommunicationType communicationType) 6 | { 7 | Company = company; 8 | CommunicationType = communicationType; 9 | } 10 | 11 | public LocalCompany Company { get; } 12 | 13 | public CommunicationType CommunicationType { get; } 14 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Model/SendInvoiceValidationResult.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque.Model; 2 | 3 | public sealed class SendInvoiceValidationResult 4 | { 5 | public SendInvoiceValidationResult(ErrorCode errorCode, string description) 6 | { 7 | ErrorCode = errorCode; 8 | Description = description; 9 | } 10 | 11 | public ErrorCode ErrorCode { get; } 12 | 13 | public string Description { get; } 14 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Model/Result/FiskalyError.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Germany.V2.Model; 2 | 3 | public enum FiskalyError 4 | { 5 | TssCreationConflict, 6 | ClientCreationConflict, 7 | InvalidTssId, 8 | InvalidClientId, 9 | InvalidCredentials, 10 | InvalidTssOperation, 11 | InvalidTransactionOperation, 12 | ServerSide, 13 | InvalidResponse, 14 | TssAccessDenied, 15 | ExportInProgress 16 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/WorkProgressReportData.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Schema; 2 | using System.Xml.Serialization; 3 | 4 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 5 | 6 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 7 | public class WorkProgressReportData 8 | { 9 | [XmlElement("RiferimentoFase", Form = XmlSchemaForm.Unqualified, DataType = "integer")] 10 | public string PhaseReference { get; set; } 11 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/XmlSignature/ItemsChoice1.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.XmlSignature; 4 | 5 | [Serializable, XmlType(Namespace = "http://www.w3.org/2000/09/xmldsig#", IncludeInSchema = false)] 6 | public enum ItemsChoice1 7 | { 8 | [XmlEnum("##any:")] 9 | Item, 10 | X509CRL, 11 | X509Certificate, 12 | X509IssuerSerial, 13 | X509SKI, 14 | X509SubjectName, 15 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/Responses/SoapFault/SoapFaultResultBodyFaultDetail.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Spain.Dto.Responses.SoapFault; 4 | 5 | [XmlType(AnonymousType = true)] 6 | [XmlRoot(Namespace = "", ElementName = "detail", IsNullable = false)] 7 | public class SoapFaultResultBodyFaultDetail 8 | { 9 | [XmlElement(ElementName = "callstack")] 10 | public string CallStack { get; set; } 11 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/RegPrevioGGEEoREDEMEoCompetenciaType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public enum RegPrevioGGEEoREDEMEoCompetenciaType 6 | { 7 | S, 8 | N, 9 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/DTOs/SignES/Taxpayers/SignedTaxpayerAgreementResponse.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Fiskaly.DTOs.SignES.Taxpayers; 4 | 5 | internal sealed class SignedTaxpayerAgreementResponse 6 | { 7 | [JsonPropertyName("document_url")] 8 | public string DocumentUrl { get; init; } 9 | 10 | [JsonPropertyName("created_at")] 11 | public DateTime CreatedAt { get; init; } 12 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/DTOs/Management/Organizations/CreateManagedOrganizationApiKeyResponse.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Fiskaly.DTOs.Management.Organizations; 4 | 5 | internal sealed class CreateManagedOrganizationApiKeyResponse 6 | { 7 | [JsonPropertyName("key")] 8 | public string Key { get; set; } 9 | 10 | [JsonPropertyName("secret")] 11 | public string Secret { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaSuministro/EstadoEnvioType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaSuministro; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaSuministro.xsd")] 5 | public enum EstadoEnvioType 6 | { 7 | Correcto, 8 | ParcialmenteCorrecto, 9 | Incorrecto, 10 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaSuministro/EstadoRegistroType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaSuministro; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaSuministro.xsd")] 5 | public enum EstadoRegistroType 6 | { 7 | Correcto, 8 | AceptadoConErrores, 9 | Incorrecto, 10 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/VersionSiiType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public enum VersionSiiType 6 | { 7 | [System.Xml.Serialization.XmlEnumAttribute("1.1")] 8 | Item11, 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Model/Request/TaxExemptItem.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Model.Request; 2 | 3 | public sealed class TaxExemptItem 4 | { 5 | public TaxExemptItem(Amount amount, CauseOfExemption? cause = null) 6 | { 7 | Amount = Check.IsNotNull(amount, nameof(amount)); 8 | Cause = cause.ToOption(); 9 | } 10 | 11 | public Amount Amount { get; } 12 | 13 | public Option Cause { get; } 14 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Model/Response/InvoiceId.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Model.Response; 2 | 3 | public sealed class InvoiceId 4 | { 5 | public InvoiceId(string issuer, string number, DateTime date) 6 | { 7 | Issuer = issuer; 8 | Number = number; 9 | Date = date; 10 | } 11 | 12 | public string Issuer { get; } 13 | 14 | public string Number { get; } 15 | 16 | public DateTime Date { get; } 17 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/TipoOperacionSujetaNoExentaType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public enum TipoOperacionSujetaNoExentaType 6 | { 7 | S1, 8 | S2, 9 | S3, 10 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | !.gitkeep 2 | !.gitignore 3 | !*.dll 4 | [Oo]bj 5 | [Bb]in 6 | artifacts 7 | *.user 8 | *.suo 9 | *.[Cc]ache 10 | *.bak 11 | *.ncb 12 | *.DS_Store 13 | *.userprefs 14 | *.iml 15 | *.ncrunch* 16 | .*crunch*.local.xml 17 | .idea 18 | [Tt]humbs.db 19 | *.tgz 20 | npm-debug.log 21 | yarn-error.log 22 | 23 | .vs 24 | node_modules 25 | src/NDependOut 26 | src/TestResults 27 | src/packages 28 | src/Mews.sln.ide 29 | src/build 30 | src/CodeGeneration/Entity.cs 31 | /.ionide 32 | -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/EstadoRegistroSIIType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public enum EstadoRegistroSIIType 6 | { 7 | Correcta, 8 | AceptadaConErrores, 9 | Anulada, 10 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque.Tests/Bizkaia/Helpers/XmlSerializationHelper.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Core.Xml; 2 | 3 | namespace Mews.Fiscalizations.Basque.Tests.Bizkaia.Helpers 4 | { 5 | internal static class XmlSerializationHelper 6 | { 7 | public static T Deserialize(string filename) 8 | { 9 | var content = File.ReadAllText(filename); 10 | return XmlSerializer.Deserialize(content); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/XmlSignature/ItemsChoice3.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.XmlSignature; 4 | 5 | [Serializable, XmlType(Namespace = "http://www.w3.org/2000/09/xmldsig#", IncludeInSchema = false)] 6 | public enum ItemsChoice3 7 | { 8 | [XmlEnum("##any:")] 9 | Item, 10 | KeyName, 11 | KeyValue, 12 | MgmtData, 13 | PGPData, 14 | RetrievalMethod, 15 | SPKIData, 16 | X509Data, 17 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/CausaExencionType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public enum CausaExencionType 6 | { 7 | E1, 8 | E2, 9 | E3, 10 | E4, 11 | E5, 12 | E6, 13 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Model/Payment.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Germany.V2.Model; 2 | 3 | public sealed class Payment 4 | { 5 | public Payment(decimal amount, PaymentType type, string currencyCode) 6 | { 7 | Amount = amount; 8 | Type = type; 9 | CurrencyCode = currencyCode; 10 | } 11 | 12 | public decimal Amount { get; } 13 | 14 | public PaymentType Type { get; } 15 | 16 | public string CurrencyCode { get; } 17 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/Responses/SoapFault/SoapFaultResponse.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Spain.Dto.Responses.SoapFault; 4 | 5 | [XmlType(AnonymousType = true, Namespace = "http://schemas.xmlsoap.org/soap/envelope/")] 6 | [XmlRoot(Namespace = "http://schemas.xmlsoap.org/soap/envelope/", ElementName = "Envelope", IsNullable = false)] 7 | public class SoapFaultResponse 8 | { 9 | public SoapFaultResultBody Body { get; set; } 10 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/ClaveTipoComunicacionType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public enum ClaveTipoComunicacionType 6 | { 7 | A0, 8 | A1, 9 | A4, 10 | A5, 11 | A6, 12 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Model/Request/Header.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Model.Request; 2 | 3 | public sealed class Header 4 | { 5 | public Header(LocalCounterParty issuer, CommunicationType communicationType) 6 | { 7 | Issuer = Check.IsNotNull(issuer, nameof(issuer)); 8 | CommunicationType = communicationType; 9 | } 10 | 11 | public LocalCounterParty Issuer { get; } 12 | 13 | public CommunicationType CommunicationType { get; } 14 | } -------------------------------------------------------------------------------- /src/Austria/Mews.Fiscalizations.Austria/Dto/ChainValue.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Austria.Dto; 2 | 3 | public sealed class ChainValue : ByteValue 4 | { 5 | public ChainValue(byte[] value) 6 | : base(value) 7 | { 8 | if (Value.Length != 8) 9 | { 10 | throw new ArgumentException("Unexpected number of bytes."); 11 | } 12 | } 13 | 14 | public ChainValue(string base64Value) 15 | : base(base64Value) 16 | { 17 | } 18 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/Types/City.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public sealed class City 4 | { 5 | private City(string value) 6 | { 7 | Value = value; 8 | } 9 | 10 | public string Value { get; } 11 | 12 | public static Try Create(string value) 13 | { 14 | return ValidationExtensions.ValidateString(value, minLength: 1, maxLength: 255, regex: ".*[^\\s].*").Map(v => new City(v)); 15 | } 16 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/Types/Name.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public sealed class Name 4 | { 5 | private Name(string value) 6 | { 7 | Value = value; 8 | } 9 | 10 | public string Value { get; } 11 | 12 | public static Try Create(string value) 13 | { 14 | return ValidationExtensions.ValidateString(value, minLength: 1, maxLength: 512, regex: ".*[^\\s].*").Map(v => new Name(v)); 15 | } 16 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Utils/Aes.cs: -------------------------------------------------------------------------------- 1 | using Org.BouncyCastle.Crypto.Parameters; 2 | using Org.BouncyCastle.Security; 3 | 4 | namespace Mews.Fiscalizations.Hungary.Utils; 5 | 6 | internal static class Aes 7 | { 8 | public static byte[] Decrypt(string key, byte[] data) 9 | { 10 | var cipher = CipherUtilities.GetCipher("AES"); 11 | cipher.Init(false, new KeyParameter(ServiceInfo.Encoding.GetBytes(key))); 12 | return cipher.DoFinal(data); 13 | } 14 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/OperacionIntracomunitariaTypeClaveDeclarado.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public enum OperacionIntracomunitariaTypeClaveDeclarado 6 | { 7 | D, 8 | R, 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/OperacionIntracomunitariaTypeTipoOperacion.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public enum OperacionIntracomunitariaTypeTipoOperacion 6 | { 7 | A, 8 | B, 9 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany.Tests/V2/FiskalyTestData.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Germany.Tests.V2; 2 | 3 | public class FiskalyTestData 4 | { 5 | public FiskalyTestData(FiskalyClient fiskalyClient, Tss tss, Client client) 6 | { 7 | FiskalyClient = fiskalyClient; 8 | Tss = tss; 9 | Client = client; 10 | } 11 | 12 | public FiskalyClient FiskalyClient { get; } 13 | 14 | public Tss Tss { get; } 15 | 16 | public Client Client { get; } 17 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/ValidationExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Text.RegularExpressions; 2 | 3 | namespace Mews.Fiscalizations.Hungary.Models; 4 | 5 | internal static class ValidationExtensions 6 | { 7 | internal static Try ValidateString(string value, int minLength, int maxLength, string regex) 8 | { 9 | return StringValidations.LengthInRange(value, minLength, maxLength).FlatMap(v => StringValidations.RegexMatch(v, new Regex(regex))); 10 | } 11 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/Types/Login.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public sealed class Login 4 | { 5 | private Login(string value) 6 | { 7 | Value = value; 8 | } 9 | 10 | public string Value { get; } 11 | 12 | public static Try Create(string value) 13 | { 14 | return ValidationExtensions.ValidateString(value, minLength: 1, maxLength: 15, regex: "^[0-9A-Za-z]{15}$").Map(v => new Login(v)); 15 | } 16 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/Types/Region.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public sealed class Region 4 | { 5 | private Region(string value) 6 | { 7 | Value = value; 8 | } 9 | 10 | public string Value { get; } 11 | 12 | public static Try Create(string value) 13 | { 14 | return ValidationExtensions.ValidateString(value, minLength: 0, maxLength: 50, regex: ".*[^\\s].*").Map(v => new Region(v)); 15 | } 16 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Xml/Signing/Microsoft.Xades/CertifiedRole.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Core.Xml.Signing.Microsoft.Xades; 2 | 3 | /// 4 | /// The CertifiedRoles element contains one or more wrapped attribute 5 | /// certificates for the signer 6 | /// 7 | internal sealed class CertifiedRole : EncapsulatedPKIData 8 | { 9 | /// 10 | /// Default constructor 11 | /// 12 | public CertifiedRole() 13 | { 14 | TagName = "CertifiedRole"; 15 | } 16 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Uniwix/Communication/Dto/InvoiceState.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Italy.Uniwix.Communication.Dto; 2 | 3 | public class InvoiceState 4 | { 5 | public InvoiceState(string fileId, SdiState sdiState, string message) 6 | { 7 | FileId = fileId; 8 | SdiState = sdiState; 9 | Message = message; 10 | } 11 | 12 | public string FileId { get; } 13 | 14 | public SdiState SdiState { get; } 15 | 16 | public string Message { get; } 17 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Model/Invoice/CorrectingInvoiceAmount.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque.Model; 2 | 3 | public sealed class CorrectingInvoiceAmount 4 | { 5 | public CorrectingInvoiceAmount(decimal amount, decimal fee, decimal surcharge) 6 | { 7 | Amount = amount; 8 | Fee = fee; 9 | Surcharge = surcharge; 10 | } 11 | 12 | public decimal Amount { get; } 13 | 14 | public decimal Fee { get; } 15 | 16 | public decimal Surcharge { get; } 17 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaConsultaLR/EstadoRegistroSIIType1.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaConsultaLR; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(TypeName = "EstadoRegistroSIIType", Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaConsultaLR.xsd")] 5 | public enum EstadoRegistroSIIType1 6 | { 7 | Correcta, 8 | AceptadaConErrores, 9 | Anulada, 10 | } -------------------------------------------------------------------------------- /src/Austria/Mews.Fiscalizations.Austria/Dto/ByteValue.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Austria.Dto; 2 | 3 | public class ByteValue 4 | { 5 | public ByteValue(byte[] value) 6 | { 7 | Value = value; 8 | } 9 | 10 | public ByteValue(string base64Value) 11 | { 12 | Value = Convert.FromBase64String(base64Value); 13 | } 14 | 15 | public byte[] Value { get; } 16 | 17 | public string ToBase64String() 18 | { 19 | return Convert.ToBase64String(Value); 20 | } 21 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Model/Invoice/CorrectedInvoice.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque.Model; 2 | 3 | public sealed class CorrectedInvoice 4 | { 5 | public CorrectedInvoice(String1To20 series, String1To20 number, DateTime issueDate) 6 | { 7 | Series = series; 8 | Number = number; 9 | IssueDate = issueDate; 10 | } 11 | 12 | public String1To20 Series { get; } 13 | 14 | public String1To20 Number { get; } 15 | 16 | public DateTime IssueDate { get; } 17 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/ClaveTipoRectificativaType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public enum ClaveTipoRectificativaType 6 | { 7 | S, 8 | I, 9 | [System.Xml.Serialization.XmlEnumAttribute(" ")] 10 | Item, 11 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/SuministroInformacion.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public class SuministroInformacion 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 8 | public CabeceraSii Cabecera { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Austria/Mews.Fiscalizations.Austria/Dto/Identifiers/IntIdentifier.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Austria.Dto.Identifiers; 2 | 3 | public class IntIdentifier : Identifier 4 | { 5 | protected IntIdentifier(int value, int lowerBound, int upperBound) 6 | : base(value) 7 | { 8 | if (value < lowerBound || value > upperBound) 9 | { 10 | throw new ArgumentException($"The value '{value}' is not within the expected range '[{lowerBound}, {upperBound}]'."); 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/Types/Description.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public sealed class Description 4 | { 5 | private Description(string value) 6 | { 7 | Value = value; 8 | } 9 | 10 | public string Value { get; } 11 | 12 | public static Try Create(string value) 13 | { 14 | return ValidationExtensions.ValidateString(value, minLength: 1, maxLength: 512, regex: ".*[^\\s].*").Map(v => new Description(v)); 15 | } 16 | } -------------------------------------------------------------------------------- /src/Austria/Mews.Fiscalizations.Austria/Dto/Identifiers/JwsRepresentation.cs: -------------------------------------------------------------------------------- 1 | using System.Text.RegularExpressions; 2 | 3 | namespace Mews.Fiscalizations.Austria.Dto.Identifiers; 4 | 5 | public class JwsRepresentation : StringIdentifier 6 | { 7 | public static readonly Regex Pattern = new Regex(".+"); 8 | 9 | public JwsRepresentation(string value) 10 | : base(value, Pattern) 11 | { 12 | Signature = new JwsSignature(value.Split('.')[2]); 13 | } 14 | 15 | public JwsSignature Signature { get; } 16 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Dto/FiskalyErrorResponse.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Mews.Fiscalizations.Germany.V2.Dto; 4 | 5 | internal sealed class FiskalyErrorResponse 6 | { 7 | [JsonProperty("status_code")] 8 | public int StatusCode { get; set; } 9 | 10 | [JsonProperty("error")] 11 | public string Error { get; set; } 12 | 13 | [JsonProperty("code")] 14 | public string Code { get; set; } 15 | 16 | [JsonProperty("message")] 17 | public string Message { get; set; } 18 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/Buyer.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Schema; 2 | using System.Xml.Serialization; 3 | 4 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 5 | 6 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 7 | public class Buyer 8 | { 9 | [XmlElement("DatiAnagrafici", Form = XmlSchemaForm.Unqualified)] 10 | public SimpleIdentityData IdentityData { get; set; } 11 | 12 | [XmlElement("Sede", Form = XmlSchemaForm.Unqualified)] 13 | public Address OfficeAddress { get; set; } 14 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/XmlSignature/Manifest.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.XmlSignature; 4 | 5 | [Serializable, XmlType(Namespace = "http://www.w3.org/2000/09/xmldsig#"), XmlRoot("Manifest", Namespace = "http://www.w3.org/2000/09/xmldsig#", IsNullable = false)] 6 | public class Manifest 7 | { 8 | [XmlElement("Reference")] 9 | public Reference[] Reference { get; set; } 10 | 11 | [XmlAttribute(DataType = "ID")] 12 | public string Id { get; set; } 13 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/SuministroInformacionBaja.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public class SuministroInformacionBaja 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 8 | public CabeceraSiiBaja Cabecera { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/Types/InvoiceNumber.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public sealed class InvoiceNumber 4 | { 5 | private InvoiceNumber(string value) 6 | { 7 | Value = value; 8 | } 9 | 10 | public string Value { get; } 11 | 12 | public static Try Create(string value) 13 | { 14 | return ValidationExtensions.ValidateString(value, minLength: 1, maxLength: 50, regex: ".*[^\\s].*").Map(v => new InvoiceNumber(v)); 15 | } 16 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/DocumentType.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 4 | 5 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 6 | public enum DocumentType 7 | { 8 | [XmlEnum("TD01")] 9 | Invoice, 10 | [XmlEnum("TD02")] 11 | InvoiceDeposit, 12 | [XmlEnum("TD03")] 13 | DepositFee, 14 | [XmlEnum("TD04")] 15 | CreditNote, 16 | [XmlEnum("TD05")] 17 | DebitNote, 18 | [XmlEnum("TD06")] 19 | Fee 20 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Notifications/Destination.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Schema; 2 | using System.Xml.Serialization; 3 | 4 | namespace Mews.Fiscalizations.Italy.Dto.Notifications; 5 | 6 | [XmlType(Namespace = "http://www.fatturapa.gov.it/sdi/messaggi/v1.0")] 7 | public class Destination 8 | { 9 | [XmlElement("Codice", Form = XmlSchemaForm.Unqualified)] 10 | public string Code { get; set; } 11 | 12 | [XmlElement("Descrizione", Form = XmlSchemaForm.Unqualified)] 13 | public string Description { get; set; } 14 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/Models/AccessToken.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Fiskaly.Models; 2 | 3 | public sealed class AccessToken 4 | { 5 | public AccessToken(string value, FiskalyEnvironment environment, DateTime expirationUtc) 6 | { 7 | Value = value; 8 | Environment = environment; 9 | ExpirationUtc = expirationUtc; 10 | } 11 | 12 | public string Value { get; set; } 13 | 14 | public FiskalyEnvironment Environment { get; } 15 | 16 | public DateTime ExpirationUtc { get; set; } 17 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/VehicleData.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Schema; 2 | using System.Xml.Serialization; 3 | 4 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 5 | 6 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 7 | public class VehicleData 8 | { 9 | [XmlElement(Form = XmlSchemaForm.Unqualified, DataType = "date")] 10 | public DateTime Data { get; set; } 11 | 12 | [XmlElement(Form = XmlSchemaForm.Unqualified, DataType = "normalizedString")] 13 | public string TotalePercorso { get; set; } 14 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Xml/XmlSerializationParameters.cs: -------------------------------------------------------------------------------- 1 | using System.Text; 2 | 3 | namespace Mews.Fiscalizations.Core.Xml; 4 | 5 | public sealed class XmlSerializationParameters 6 | { 7 | public XmlSerializationParameters(Encoding encoding = null, IEnumerable namespaces = null) 8 | { 9 | Encoding = encoding ?? Encoding.UTF8; 10 | Namespaces = namespaces.ToOption(); 11 | } 12 | 13 | public Encoding Encoding { get; } 14 | 15 | public Option> Namespaces { get; } 16 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Model/AccessToken.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Germany.V2.Model; 2 | 3 | public sealed class AccessToken 4 | { 5 | public AccessToken(string value, FiskalyEnvironment environment, DateTime expirationUtc) 6 | { 7 | Value = value; 8 | Environment = environment; 9 | ExpirationUtc = expirationUtc; 10 | } 11 | 12 | public string Value { get; set; } 13 | 14 | public FiskalyEnvironment Environment { get; } 15 | 16 | public DateTime ExpirationUtc { get; set; } 17 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Model/CreateTssResult.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Germany.V2.Model; 2 | 3 | public sealed class CreateTssResult : Tss 4 | { 5 | public CreateTssResult(string adminPuk, Tss tss) 6 | : base(tss.Id, tss.Description, tss.State, tss.CreatedUtc, tss.InitializedUtc, tss.DisabledUtc, tss.Certificate, tss.SerialNumber, tss.PublicKey, tss.SignatureCounter, tss.SignatureAlgorithm, tss.TransactionCounter) 7 | { 8 | AdminPuk = adminPuk; 9 | } 10 | 11 | public string AdminPuk { get; } 12 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/Invoice/LocalCompany.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public sealed class LocalCompany 4 | { 5 | public LocalCompany(LocalTaxpayerIdentificationNumber taxpayerId, Name name, SimpleAddress address) 6 | { 7 | TaxpayerId = taxpayerId; 8 | Name = name; 9 | Address = address; 10 | } 11 | 12 | public LocalTaxpayerIdentificationNumber TaxpayerId { get; } 13 | 14 | public Name Name { get; } 15 | 16 | public SimpleAddress Address { get; } 17 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/ServiceData.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Schema; 2 | using System.Xml.Serialization; 3 | 4 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 5 | 6 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 7 | public class ServiceData 8 | { 9 | [XmlElement("DettaglioLinee", Form = XmlSchemaForm.Unqualified)] 10 | public InvoiceLine[] InvoiceLines { get; set; } 11 | 12 | [XmlElement("DatiRiepilogo", Form = XmlSchemaForm.Unqualified)] 13 | public TaxRateSummary[] TaxSummary { get; set; } 14 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/XmlSignature/SignatureValue.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.XmlSignature; 4 | 5 | [Serializable, XmlType(Namespace = "http://www.w3.org/2000/09/xmldsig#"), XmlRoot("SignatureValue", Namespace = "http://www.w3.org/2000/09/xmldsig#", IsNullable = false)] 6 | public class SignatureValue 7 | { 8 | [XmlAttribute(DataType = "ID")] 9 | public string Id { get; set; } 10 | 11 | [XmlText(DataType = "base64Binary")] 12 | public byte[] Value { get; set; } 13 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/TransmitterContact.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Schema; 2 | using System.Xml.Serialization; 3 | 4 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 5 | 6 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 7 | public class TransmitterContact 8 | { 9 | [XmlElement("Telefono", Form = XmlSchemaForm.Unqualified, DataType = "normalizedString")] 10 | public string Phone { get; set; } 11 | 12 | [XmlElement("Email", Form = XmlSchemaForm.Unqualified)] 13 | public string Email { get; set; } 14 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Xml/Signing/Signature/Parameters/SignerRole.cs: -------------------------------------------------------------------------------- 1 | using System.Security.Cryptography.X509Certificates; 2 | 3 | namespace Mews.Fiscalizations.Core.Xml.Signing.Signature.Parameters; 4 | 5 | public sealed class SignerRole(IEnumerable certifiedRoles = null, IEnumerable claimedRoles = null) 6 | { 7 | public IReadOnlyList CertifiedRoles { get; } = certifiedRoles?.ToReadOnlyList() ?? []; 8 | 9 | public IReadOnlyList ClaimedRoles { get; } = claimedRoles?.ToReadOnlyList() ?? []; 10 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/DTOs/FiskalyErrorResponse.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Fiskaly.DTOs; 4 | 5 | internal sealed class FiskalyErrorResponse 6 | { 7 | [JsonPropertyName("status_code")] 8 | public int StatusCode { get; init; } 9 | 10 | [JsonPropertyName("error")] 11 | public string Error { get; init; } 12 | 13 | [JsonPropertyName("code")] 14 | public string Code { get; init; } 15 | 16 | [JsonPropertyName("message")] 17 | public string Message { get; init; } 18 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/SdiSendResult.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 2 | 3 | public class SdiResponse 4 | { 5 | public SdiResponse(SdiFileInfo sdiFIleInfo) 6 | { 7 | SdiFIleInfo = sdiFIleInfo; 8 | } 9 | 10 | public SdiResponse(SdiError error) 11 | { 12 | Error = error; 13 | } 14 | 15 | public SdiFileInfo SdiFIleInfo { get; } 16 | 17 | public SdiError? Error { get; } 18 | 19 | public bool IsError => Error != null; 20 | 21 | public bool IsSucces => !IsError; 22 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/XmlSignature/RSAKeyValue.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.XmlSignature; 4 | 5 | [Serializable, XmlType(Namespace = "http://www.w3.org/2000/09/xmldsig#"), XmlRoot("RSAKeyValue", Namespace = "http://www.w3.org/2000/09/xmldsig#", IsNullable = false)] 6 | public class RSAKeyValue 7 | { 8 | [XmlElement(DataType = "base64Binary")] 9 | public byte[] Modulus { get; set; } 10 | 11 | [XmlElement(DataType = "base64Binary")] 12 | public byte[] Exponent { get; set; } 13 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Uniwix/Communication/Dto/InvoiceStateResult.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Mews.Fiscalizations.Italy.Uniwix.Communication.Dto; 4 | 5 | internal class InvoiceStateResult 6 | { 7 | [JsonProperty("stato")] 8 | public UniwixProcesingState? State { get; set; } 9 | 10 | [JsonProperty("stato_sdi")] 11 | public string SdiState { get; set; } 12 | 13 | [JsonProperty("msg")] 14 | public string Message { get; set; } 15 | 16 | [JsonProperty("data")] 17 | public DateTime Date { get; set; } 18 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/IDFacturaExpedidaTypeIDEmisorFactura.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public class IDFacturaExpedidaTypeIDEmisorFactura 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 8 | public string NIF { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Model/Request/ForeignCounterParty.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Model.Request; 2 | 3 | public sealed class ForeignCounterParty : Coproduct2 4 | { 5 | public ForeignCounterParty(ForeignCustomer customer) 6 | : base(customer) 7 | { 8 | Check.IsNotNull(customer, nameof(customer)); 9 | } 10 | 11 | public ForeignCounterParty(ForeignCompany company) 12 | : base(company) 13 | { 14 | Check.IsNotNull(company, nameof(company)); 15 | } 16 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/DTOs/SignES/SignESErrorResponse.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Fiskaly.DTOs.SignES; 4 | 5 | internal sealed class SignESErrorResponse 6 | { 7 | [JsonPropertyName("status")] 8 | public int StatusCode { get; init; } 9 | 10 | [JsonPropertyName("error")] 11 | public string Error { get; init; } 12 | 13 | [JsonPropertyName("code")] 14 | public string Code { get; init; } 15 | 16 | [JsonPropertyName("message")] 17 | public string Message { get; init; } 18 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/Invoice/TaxSummaryItem.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public sealed class TaxSummaryItem 4 | { 5 | public TaxSummaryItem(Amount amount, Amount amountHUF, decimal? taxRatePercentage = null) 6 | { 7 | Amount = amount; 8 | AmountHUF = amountHUF; 9 | TaxRatePercentage = taxRatePercentage.ToOption(); 10 | } 11 | 12 | public Amount Amount { get; } 13 | 14 | public Amount AmountHUF { get; } 15 | 16 | public Option TaxRatePercentage { get; } 17 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/PaymentData.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Schema; 2 | using System.Xml.Serialization; 3 | 4 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 5 | 6 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 7 | public class PaymentData 8 | { 9 | [XmlElement("CondizioniPagamento", Form = XmlSchemaForm.Unqualified)] 10 | public PaymentTerms PaymentTerms { get; set; } 11 | 12 | [XmlElement("DettaglioPagamento", Form = XmlSchemaForm.Unqualified)] 13 | public PaymentDetail[] PaymentDetails { get; set; } 14 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/XmlSignature/SPKIData.cs: -------------------------------------------------------------------------------- 1 | using System.Xml; 2 | using System.Xml.Serialization; 3 | 4 | namespace Mews.Fiscalizations.Italy.Dto.XmlSignature; 5 | 6 | [Serializable, XmlType(Namespace = "http://www.w3.org/2000/09/xmldsig#"), XmlRoot("SPKIData", Namespace = "http://www.w3.org/2000/09/xmldsig#", IsNullable = false)] 7 | public class SPKIData 8 | { 9 | [XmlElement("SPKISexp", DataType = "base64Binary")] 10 | public byte[][] SPKISexp { get; set; } 11 | 12 | [XmlAnyElement] 13 | public XmlElement Any { get; set; } 14 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/ClaveTipoFacturaType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public enum ClaveTipoFacturaType 6 | { 7 | F1, 8 | F2, 9 | R1, 10 | R2, 11 | R3, 12 | R4, 13 | R5, 14 | F3, 15 | F4, 16 | F5, 17 | F6, 18 | LC, 19 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/IDFacturaExpedidaBCTypeIDEmisorFactura.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public class IDFacturaExpedidaBCTypeIDEmisorFactura 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 8 | public string NIF { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Model/Software/SoftwareDeveloper.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque.Model; 2 | 3 | public sealed class SoftwareDeveloper : Coproduct2 4 | { 5 | public SoftwareDeveloper(LocalSoftwareDeveloper local) 6 | : base(local) 7 | { 8 | Check.IsNotNull(local, nameof(local)); 9 | } 10 | 11 | public SoftwareDeveloper(ForeignSoftwareDeveloper foreign) 12 | : base(foreign) 13 | { 14 | Check.IsNotNull(foreign, nameof(foreign)); 15 | } 16 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Model/Signature.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Germany.V2.Model; 2 | 3 | public sealed class Signature 4 | { 5 | public Signature(string value, int counter, string algorithm, byte[] publicKey) 6 | { 7 | Value = value; 8 | Counter = counter; 9 | Algorithm = algorithm; 10 | PublicKey = publicKey; 11 | } 12 | 13 | public string Value { get; } 14 | 15 | public int Counter { get; } 16 | 17 | public string Algorithm { get; } 18 | 19 | public byte[] PublicKey { get; } 20 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/XmlSignature/DigestMethod.cs: -------------------------------------------------------------------------------- 1 | using System.Xml; 2 | using System.Xml.Serialization; 3 | 4 | namespace Mews.Fiscalizations.Italy.Dto.XmlSignature; 5 | 6 | [Serializable, XmlType(Namespace = "http://www.w3.org/2000/09/xmldsig#"), XmlRoot("DigestMethod", Namespace = "http://www.w3.org/2000/09/xmldsig#", IsNullable = false)] 7 | public class DigestMethod 8 | { 9 | [XmlText, XmlAnyElement] 10 | public XmlNode[] Any { get; set; } 11 | 12 | [XmlAttribute(DataType = "anyURI")] 13 | public string Algorithm { get; set; } 14 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Xml/Signing/Microsoft.Xades/CRLValue.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Core.Xml.Signing.Microsoft.Xades; 2 | 3 | /// 4 | /// This class consist of a sequence of at least one Certificate Revocation 5 | /// List. Each EncapsulatedCRLValue will contain the base64 encoding of a 6 | /// DER-encoded X509 CRL. 7 | /// 8 | internal sealed class CRLValue : EncapsulatedPKIData 9 | { 10 | /// 11 | /// Default constructor 12 | /// 13 | public CRLValue() 14 | { 15 | TagName = "EncapsulatedCRLValue"; 16 | } 17 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Xml/Signing/Microsoft.Xades/OCSPValue.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Core.Xml.Signing.Microsoft.Xades; 2 | 3 | /// 4 | /// This class consist of a sequence of at least one OCSP Response. The 5 | /// EncapsulatedOCSPValue element contains the base64 encoding of a 6 | /// DER-encoded OCSP Response 7 | /// 8 | internal sealed class OCSPValue : EncapsulatedPKIData 9 | { 10 | /// 11 | /// Default constructor 12 | /// 13 | public OCSPValue() 14 | { 15 | TagName = "EncapsulatedOCSPValue"; 16 | } 17 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Xml/Signing/Microsoft.Xades/EncapsulatedX509Certificate.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Core.Xml.Signing.Microsoft.Xades; 2 | 3 | /// 4 | /// The EncapsulatedX509Certificate element is able to contain the 5 | /// base64 encoding of a DER-encoded X.509 certificate 6 | /// 7 | internal sealed class EncapsulatedX509Certificate : EncapsulatedPKIData 8 | { 9 | /// 10 | /// Default constructor 11 | /// 12 | public EncapsulatedX509Certificate() 13 | { 14 | TagName = "EncapsulatedX509Certificate"; 15 | } 16 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/ServiceType.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 4 | 5 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 6 | public enum ServiceType 7 | { 8 | /// 9 | /// Discount 10 | /// 11 | SC, 12 | /// 13 | /// Bonus 14 | /// 15 | PR, 16 | /// 17 | /// Refund 18 | /// 19 | AB, 20 | /// 21 | /// Extra charge 22 | /// 23 | AC, 24 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Notifications/InvoiceArchive.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Schema; 2 | using System.Xml.Serialization; 3 | 4 | namespace Mews.Fiscalizations.Italy.Dto.Notifications; 5 | 6 | [XmlType(Namespace = "http://www.fatturapa.gov.it/sdi/messaggi/v1.0")] 7 | public class InvoiceArchive 8 | { 9 | [XmlElement("IdentificativoSdI", Form = XmlSchemaForm.Unqualified, DataType = "integer")] 10 | public string SdiIdentification { get; set; } 11 | 12 | [XmlElement("NomeFile", Form = XmlSchemaForm.Unqualified)] 13 | public string FileName { get; set; } 14 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaSuministro/RespuestaLRIMetalicoType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaSuministro; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaSuministro.xsd")] 5 | public class RespuestaLRIMetalicoType : RespuestaComunAltaType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute("RespuestaLinea", Order = 0)] 8 | public RespuestaMetalicoType[] RespuestaLinea { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Model/Request/InvoiceId.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Model.Request; 2 | 3 | public sealed class InvoiceId 4 | { 5 | public InvoiceId(TaxpayerIdentificationNumber issuer, String1To60 number, DateTime date) 6 | { 7 | Issuer = Check.IsNotNull(issuer, nameof(issuer)); 8 | Number = Check.IsNotNull(number, nameof(number)); 9 | Date = date; 10 | } 11 | 12 | public TaxpayerIdentificationNumber Issuer { get; } 13 | 14 | public String1To60 Number { get; } 15 | 16 | public DateTime Date { get; } 17 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Model/Types/ApiSecret.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Core.Model; 2 | using System.Text.RegularExpressions; 3 | 4 | namespace Mews.Fiscalizations.Germany.V2.Model; 5 | 6 | public sealed class ApiSecret 7 | { 8 | private ApiSecret(string value) 9 | { 10 | Value = value; 11 | } 12 | 13 | public string Value { get; } 14 | 15 | public static Try Create(string value) 16 | { 17 | return StringValidations.RegexMatch(value, new Regex("^[0-9A-Za-z]{43}$")).Map(s => new ApiSecret(s)); 18 | } 19 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/Types/AdditionalAddressDetail.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public sealed class AdditionalAddressDetail 4 | { 5 | private AdditionalAddressDetail(string value) 6 | { 7 | Value = value; 8 | } 9 | 10 | public string Value { get; } 11 | 12 | public static Try Create(string value) 13 | { 14 | return ValidationExtensions.ValidateString(value, minLength: 1, maxLength: 255, regex: ".*[^\\s].*").Map(v => new AdditionalAddressDetail(v)); 15 | } 16 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/ArticleCode.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Schema; 2 | using System.Xml.Serialization; 3 | 4 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 5 | 6 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 7 | public class ArticleCode 8 | { 9 | [XmlElement("CodiceTipo", Form = XmlSchemaForm.Unqualified, DataType = "normalizedString")] 10 | public string TypeCode { get; set; } 11 | 12 | [XmlElement("CodiceValore", Form = XmlSchemaForm.Unqualified, DataType = "normalizedString")] 13 | public string ValueCode { get; set; } 14 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/PaymentReason.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 4 | 5 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 6 | public enum PaymentReason 7 | { 8 | A, 9 | B, 10 | C, 11 | D, 12 | E, 13 | G, 14 | H, 15 | I, 16 | L, 17 | M, 18 | N, 19 | O, 20 | P, 21 | Q, 22 | R, 23 | S, 24 | T, 25 | U, 26 | V, 27 | W, 28 | X, 29 | Y, 30 | Z, 31 | L1, 32 | M1, 33 | O1, 34 | V1, 35 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/TipoCassaType.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 4 | 5 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 6 | public enum TipoCassaType 7 | { 8 | TC01, 9 | TC02, 10 | TC03, 11 | TC04, 12 | TC05, 13 | TC06, 14 | TC07, 15 | TC08, 16 | TC09, 17 | TC10, 18 | TC11, 19 | TC12, 20 | TC13, 21 | TC14, 22 | TC15, 23 | TC16, 24 | TC17, 25 | TC18, 26 | TC19, 27 | TC20, 28 | TC21, 29 | TC22, 30 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Notifications/SdiError.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Schema; 2 | using System.Xml.Serialization; 3 | 4 | namespace Mews.Fiscalizations.Italy.Dto.Notifications; 5 | 6 | [System.ComponentModel.DesignerCategory("code")] 7 | [XmlType(Namespace = "http://www.fatturapa.gov.it/sdi/messaggi/v1.0")] 8 | public class SdiError 9 | { 10 | [XmlElement("Codice", Form = XmlSchemaForm.Unqualified)] 11 | public string Code { get; set; } 12 | 13 | [XmlElement("Descrizione", Form = XmlSchemaForm.Unqualified)] 14 | public string Description { get; set; } 15 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaSuministro/RespuestaLRFRecibidasType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaSuministro; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaSuministro.xsd")] 5 | public class RespuestaLRFRecibidasType : RespuestaComunAltaType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute("RespuestaLinea", Order = 0)] 8 | public RespuestaRecibidaType[] RespuestaLinea { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Austria/Mews.Fiscalizations.Austria/ATrust/ATrustUserIdentifier.cs: -------------------------------------------------------------------------------- 1 | using System.Text.RegularExpressions; 2 | using Mews.Fiscalizations.Austria.Dto.Identifiers; 3 | 4 | namespace Mews.Fiscalizations.Austria.ATrust; 5 | 6 | public sealed class ATrustUserIdentifier : StringIdentifier 7 | { 8 | public static readonly Regex Pattern = new Regex("u.+"); 9 | 10 | public ATrustUserIdentifier(string value) 11 | : base(value, Pattern) 12 | { 13 | } 14 | 15 | public static bool IsValid(string value) 16 | { 17 | return IsValid(value, Pattern); 18 | } 19 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Model/Invoice/CorrectingInvoice.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque.Model; 2 | 3 | public sealed class CorrectingInvoice 4 | { 5 | public CorrectingInvoice(CorrectingInvoiceCode code, CorrectingInvoiceType type, CorrectingInvoiceAmount amount = null) 6 | { 7 | Code = code; 8 | Type = type; 9 | Amount = amount.ToOption(); 10 | } 11 | 12 | public CorrectingInvoiceCode Code { get; } 13 | 14 | public CorrectingInvoiceType Type { get; } 15 | 16 | public Option Amount { get; } 17 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/DTOs/SignES/Taxpayers/CreateTaxpayerRequest.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Fiskaly.DTOs.SignES.Taxpayers; 4 | 5 | internal sealed class CreateTaxpayerRequest 6 | { 7 | [JsonPropertyName("issuer")] 8 | public TaxpayerIssuer Issuer { get; init; } 9 | 10 | [JsonPropertyName("territory")] 11 | [JsonConverter(typeof(JsonStringEnumConverter))] 12 | public Territory Territory { get; init; } 13 | 14 | [JsonPropertyName("address")] 15 | public Address Address { get; init; } 16 | } 17 | -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/XmlSignature/KeyValue.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.XmlSignature; 4 | 5 | [Serializable, XmlType(Namespace = "http://www.w3.org/2000/09/xmldsig#"), XmlRoot("KeyValue", Namespace = "http://www.w3.org/2000/09/xmldsig#", IsNullable = false)] 6 | public class KeyValue 7 | { 8 | [XmlAnyElement, XmlElement("DSAKeyValue", typeof(DSAKeyValue)), XmlElement("RSAKeyValue", typeof(RSAKeyValue))] 9 | public object Item { get; set; } 10 | 11 | [XmlText] 12 | public string[] Text { get; set; } 13 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/XmlSignature/SignatureProperties.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.XmlSignature; 4 | 5 | [Serializable, XmlType(Namespace = "http://www.w3.org/2000/09/xmldsig#"), XmlRoot("SignatureProperties", Namespace = "http://www.w3.org/2000/09/xmldsig#", IsNullable = false)] 6 | public class SignatureProperties 7 | { 8 | [XmlElement("SignatureProperty")] 9 | public SignatureProperty[] SignatureProperty { get; set; } 10 | 11 | [XmlAttribute(DataType = "ID")] 12 | public string Id { get; set; } 13 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaSuministro/RespuestaLRBienesInversionType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaSuministro; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaSuministro.xsd")] 5 | public class RespuestaLRBienesInversionType : RespuestaComunAltaType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute("RespuestaLinea", Order = 0)] 8 | public RespuestaBienType[] RespuestaLinea { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaSuministro/RespuestaLROComunitariasType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaSuministro; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaSuministro.xsd")] 5 | public class RespuestaLROComunitariasType : RespuestaComunAltaType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute("RespuestaLinea", Order = 0)] 8 | public RespuestaComunitariaType[] RespuestaLinea { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Model/Receiver/ReceiverInfo.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque.Model; 2 | 3 | public class ReceiverInfo 4 | { 5 | public ReceiverInfo(Name name, PostalCode postalCode, String1To250 address) 6 | { 7 | Name = Check.IsNotNull(name, nameof(name)); 8 | PostalCode = Check.IsNotNull(postalCode, nameof(postalCode)); 9 | Address = Check.IsNotNull(address, nameof(address)); 10 | } 11 | 12 | public Name Name { get; } 13 | 14 | public PostalCode PostalCode { get; } 15 | 16 | public String1To250 Address { get; } 17 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Model/Software/ForeignSoftwareDeveloper.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque.Model; 2 | 3 | public sealed class ForeignSoftwareDeveloper 4 | { 5 | public ForeignSoftwareDeveloper(IdType idType, String1To20 id, Country country = null) 6 | { 7 | IdType = Check.IsNotNull(idType, nameof(idType)); 8 | Id = Check.IsNotNull(id, nameof(id)); 9 | Country = country.ToOption(); 10 | } 11 | 12 | public IdType IdType { get; } 13 | 14 | public String1To20 Id { get; } 15 | 16 | public Option Country { get; } 17 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany.Tests/V2/AccessTokenTests.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Germany.Tests.V2; 2 | 3 | [TestFixture] 4 | public class AccessTokenTests 5 | { 6 | [Test] 7 | public async Task GetAccessTokenSucceeds() 8 | { 9 | var client = TestFixture.FiskalyTestData.FiskalyClient; 10 | var accessToken = await client.GetAccessTokenAsync(); 11 | 12 | Assert.That(accessToken.IsSuccess); 13 | Assert.That(accessToken.SuccessResult.Environment, Is.EqualTo(FiskalyEnvironment.Test), "Production API keys are used for tests."); 14 | } 15 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaSuministro/RespuestaLRAgenciasViajesType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaSuministro; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaSuministro.xsd")] 5 | public class RespuestaLRAgenciasViajesType : RespuestaComunAltaType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute("RespuestaLinea", Order = 0)] 8 | public RespuestaAgenciasViajesType[] RespuestaLinea { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaSuministro/RespuestaLRBajaFRecibidasType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaSuministro; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaSuministro.xsd")] 5 | public class RespuestaLRBajaFRecibidasType : RespuestaComunBajaType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute("RespuestaLinea", Order = 0)] 8 | public RespuestaRecibidaBajaType[] RespuestaLinea { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaSuministro/RespuestaLRBajaIMetalicoType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaSuministro; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaSuministro.xsd")] 5 | public class RespuestaLRBajaIMetalicoType : RespuestaComunBajaType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute("RespuestaLinea", Order = 0)] 8 | public RespuestaMetalicoBajaType[] RespuestaLinea { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Model/Strings/String1To50.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Core.Model; 2 | 3 | public class String1To50 4 | { 5 | private String1To50(string value) 6 | { 7 | Value = value; 8 | } 9 | 10 | public string Value { get; } 11 | 12 | public static Try Create(string value) 13 | { 14 | return StringValidations.LengthInRange(value, 1, 50).Map(v => new String1To50(v)); 15 | } 16 | 17 | public static String1To50 CreateUnsafe(string value) 18 | { 19 | return Create(value).GetUnsafe(); 20 | } 21 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Xml/Signing/Signature/Parameters/SignatureProductionPlace.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Core.Xml.Signing.Signature.Parameters; 2 | 3 | public sealed class SignatureProductionPlace( 4 | string city = null, 5 | string stateOrProvince = null, 6 | string postalCode = null, 7 | string countryName = null) 8 | { 9 | public string City { get; } = city; 10 | 11 | public string StateOrProvince { get; } = stateOrProvince; 12 | 13 | public string PostalCode { get; } = postalCode; 14 | 15 | public string CountryName { get; } = countryName; 16 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/Mappers/ErrorMapper.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Fiskaly.DTOs; 2 | using Mews.Fiscalizations.Fiskaly.Models; 3 | 4 | namespace Mews.Fiscalizations.Fiskaly.Mappers; 5 | 6 | internal static class ErrorMapper 7 | { 8 | public static ErrorResult MapErrorResponse(this FiskalyErrorResponse errorResponse) 9 | { 10 | return new ErrorResult( 11 | Status: errorResponse.StatusCode, 12 | Code: errorResponse.Code, 13 | Error: errorResponse.Error, 14 | Message: errorResponse.Message 15 | ); 16 | } 17 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/XmlSignature/CanonicalizationMethod.cs: -------------------------------------------------------------------------------- 1 | using System.Xml; 2 | using System.Xml.Serialization; 3 | 4 | namespace Mews.Fiscalizations.Italy.Dto.XmlSignature; 5 | 6 | [Serializable, XmlType(Namespace = "http://www.w3.org/2000/09/xmldsig#"), XmlRoot("CanonicalizationMethod", Namespace = "http://www.w3.org/2000/09/xmldsig#", IsNullable = false)] 7 | public class CanonicalizationMethod 8 | { 9 | [XmlText, XmlAnyElement] 10 | public XmlNode[] Any { get; set; } 11 | 12 | [XmlAttribute(DataType = "anyURI")] 13 | public string Algorithm { get; set; } 14 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/ConsultaLR/ConsultaPagosType.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | namespace Mews.Fiscalizations.Spain.Dto.XSD.ConsultaLR; 4 | 5 | [Serializable] 6 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/ConsultaLR.xsd")] 7 | public class ConsultaPagosType : ConsultaInformacion 8 | { 9 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 10 | public LRFiltroPagosType FiltroConsultaPagos { get; set; } 11 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaSuministro/RespuestaLRBajaBienesInversionType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaSuministro; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaSuministro.xsd")] 5 | public class RespuestaLRBajaBienesInversionType : RespuestaComunBajaType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute("RespuestaLinea", Order = 0)] 8 | public RespuestaBienBajaType[] RespuestaLinea { get; set; } 9 | } -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | --- 8 | 9 | ## Bug description 10 | A clear and concise description of what the bug is. 11 | 12 | ## Steps To Reproduce 13 | Steps to reproduce the behavior. 14 | 15 | ## Expected behavior 16 | A clear and concise description of what you expected to happen. 17 | 18 | ## Screenshots or other proof 19 | If applicable, add screenshots to help explain your problem. 20 | 21 | ## Additional context 22 | Add any other context about the problem here. 23 | -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Model/Strings/String1To20.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Core.Model; 2 | 3 | public sealed class String1To20 4 | { 5 | private String1To20(string value) 6 | { 7 | Value = value; 8 | } 9 | 10 | public string Value { get; } 11 | 12 | public static Try Create(string value) 13 | { 14 | return StringValidations.LengthInRange(value, 1, 20).Map(v => new String1To20(v)); 15 | } 16 | 17 | public static String1To20 CreateUnsafe(string value) 18 | { 19 | return Create(value).GetUnsafe(); 20 | } 21 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Model/Strings/String1To30.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Core.Model; 2 | 3 | public sealed class String1To30 4 | { 5 | private String1To30(string value) 6 | { 7 | Value = value; 8 | } 9 | 10 | public string Value { get; } 11 | 12 | public static Try Create(string value) 13 | { 14 | return StringValidations.LengthInRange(value, 1, 30).Map(v => new String1To30(v)); 15 | } 16 | 17 | public static String1To30 CreateUnsafe(string value) 18 | { 19 | return Create(value).GetUnsafe(); 20 | } 21 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Model/Strings/String1To60.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Core.Model; 2 | 3 | public sealed class String1To60 4 | { 5 | private String1To60(string value) 6 | { 7 | Value = value; 8 | } 9 | 10 | public string Value { get; } 11 | 12 | public static Try Create(string value) 13 | { 14 | return StringValidations.LengthInRange(value, 1, 60).Map(v => new String1To60(v)); 15 | } 16 | 17 | public static String1To60 CreateUnsafe(string value) 18 | { 19 | return Create(value).GetUnsafe(); 20 | } 21 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/ConsultaLR/ConsultaCobrosType.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | namespace Mews.Fiscalizations.Spain.Dto.XSD.ConsultaLR; 4 | 5 | [Serializable] 6 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/ConsultaLR.xsd")] 7 | public class ConsultaCobrosType : ConsultaInformacion 8 | { 9 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 10 | public LRFiltroCobrosType FiltroConsultaCobros { get; set; } 11 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/ConsultaLR/LRFiltroInmueblesAdicionalesType.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | namespace Mews.Fiscalizations.Spain.Dto.XSD.ConsultaLR; 4 | 5 | [Serializable] 6 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/ConsultaLR.xsd")] 7 | public class LRFiltroInmueblesAdicionalesType 8 | { 9 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 10 | public IDFacturaExpedidaBCType IDFactura { get; set; } 11 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaSuministro/RespuestaLRBajaFRecibidasPagosType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaSuministro; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaSuministro.xsd")] 5 | public class RespuestaLRBajaFRecibidasPagosType : RespuestaComunBajaType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute("RespuestaLinea", Order = 0)] 8 | public RespuestaRecibidaPagoType[] RespuestaLinea { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaSuministro/RespuestaLRBajaOComunitariasType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaSuministro; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaSuministro.xsd")] 5 | public class RespuestaLRBajaOComunitariasType : RespuestaComunBajaType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute("RespuestaLinea", Order = 0)] 8 | public RespuestaComunitariaBajaType[] RespuestaLinea { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Model/Result/ResponseResult.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Germany.V2.Model; 2 | 3 | public class ResponseResult 4 | where TResult : class 5 | { 6 | internal ResponseResult(TResult successResult = null, ErrorResult errorResult = null) 7 | { 8 | SuccessResult = successResult; 9 | ErrorResult = errorResult; 10 | } 11 | 12 | public TResult SuccessResult { get; } 13 | 14 | public ErrorResult ErrorResult { get; } 15 | 16 | public bool IsSuccess 17 | { 18 | get { return ErrorResult is null; } 19 | } 20 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Uniwix/Communication/Dto/CreateUserParameters.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Italy.Uniwix.Communication.Dto; 2 | 3 | public class CreateUserParameters 4 | { 5 | public CreateUserParameters(string taxIdentificationNumber, string userName, string description) 6 | { 7 | TaxIdentificationNumber = taxIdentificationNumber; 8 | UserName = userName; 9 | Description = description; 10 | } 11 | 12 | public string TaxIdentificationNumber { get; } 13 | 14 | public string UserName { get; } 15 | 16 | public string Description { get; } 17 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/ConsultaLR/LRConsultaEmitidasType.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | namespace Mews.Fiscalizations.Spain.Dto.XSD.ConsultaLR; 4 | 5 | [Serializable] 6 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/ConsultaLR.xsd")] 7 | public class LRConsultaEmitidasType : ConsultaInformacion 8 | { 9 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 10 | public LRFiltroEmitidasType FiltroConsulta { get; set; } 11 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/ConsultaLR/LRConsultaRecibidasType.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | namespace Mews.Fiscalizations.Spain.Dto.XSD.ConsultaLR; 4 | 5 | [Serializable] 6 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/ConsultaLR.xsd")] 7 | public class LRConsultaRecibidasType : ConsultaInformacion 8 | { 9 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 10 | public LRFiltroRecibidasType FiltroConsulta { get; set; } 11 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaSuministro/RespuestaLRBajaAgenciasViajesType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaSuministro; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaSuministro.xsd")] 5 | public class RespuestaLRBajaAgenciasViajesType : RespuestaComunBajaType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute("RespuestaLinea", Order = 0)] 8 | public RespuestaAgenciasViajesBajaType[] RespuestaLinea { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaSuministro/RespuestaLROperacionesSegurosType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaSuministro; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaSuministro.xsd")] 5 | public class RespuestaLROperacionesSegurosType : RespuestaComunAltaType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute("RespuestaLinea", Order = 0)] 8 | public RespuestaOperacionesSegurosType[] RespuestaLinea { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Model/Strings/String0To500.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Core.Model; 2 | 3 | public sealed class String0To500 4 | { 5 | private String0To500(string value) 6 | { 7 | Value = value; 8 | } 9 | 10 | public string Value { get; } 11 | 12 | public static Try Create(string value) 13 | { 14 | return StringValidations.LengthInRange(value, 0, 500).Map(v => new String0To500(v)); 15 | } 16 | 17 | public static String0To500 CreateUnsafe(string value) 18 | { 19 | return Create(value).GetUnsafe(); 20 | } 21 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Model/Strings/String1To100.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Core.Model; 2 | 3 | public sealed class String1To100 4 | { 5 | private String1To100(string value) 6 | { 7 | Value = value; 8 | } 9 | 10 | public string Value { get; } 11 | 12 | public static Try Create(string value) 13 | { 14 | return StringValidations.LengthInRange(value, 1, 100).Map(v => new String1To100(v)); 15 | } 16 | 17 | public static String1To100 CreateUnsafe(string value) 18 | { 19 | return Create(value).GetUnsafe(); 20 | } 21 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Model/Strings/String1To120.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Core.Model; 2 | 3 | public sealed class String1To120 4 | { 5 | private String1To120(string value) 6 | { 7 | Value = value; 8 | } 9 | 10 | public string Value { get; } 11 | 12 | public static Try Create(string value) 13 | { 14 | return StringValidations.LengthInRange(value, 1, 120).Map(v => new String1To120(v)); 15 | } 16 | 17 | public static String1To120 CreateUnsafe(string value) 18 | { 19 | return Create(value).GetUnsafe(); 20 | } 21 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Model/Strings/String1To250.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Core.Model; 2 | 3 | public sealed class String1To250 4 | { 5 | private String1To250(string value) 6 | { 7 | Value = value; 8 | } 9 | 10 | public string Value { get; } 11 | 12 | public static Try Create(string value) 13 | { 14 | return StringValidations.LengthInRange(value, 1, 250).Map(v => new String1To250(v)); 15 | } 16 | 17 | public static String1To250 CreateUnsafe(string value) 18 | { 19 | return Create(value).GetUnsafe(); 20 | } 21 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Xml/Signing/Utils/DigestUtil.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Core.Xml.Signing.Microsoft.Xades; 2 | 3 | namespace Mews.Fiscalizations.Core.Xml.Signing.Utils; 4 | 5 | internal static class DigestUtil 6 | { 7 | public static void SetCertDigest(byte[] rawCert, Mews.Fiscalizations.Core.Xml.Signing.Crypto.DigestMethod digestMethod, DigestAlgAndValueType destination) 8 | { 9 | using var hashAlg = digestMethod.GetHashAlgorithm(); 10 | destination.DigestMethod.Algorithm = digestMethod.URI; 11 | destination.DigestValue = hashAlg.ComputeHash(rawCert); 12 | } 13 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/MainInvoice.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Schema; 2 | using System.Xml.Serialization; 3 | 4 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 5 | 6 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 7 | public class MainInvoice 8 | { 9 | [XmlElement("NumeroFatturaPrincipale", Form = XmlSchemaForm.Unqualified, DataType = "normalizedString")] 10 | public string MainInvoiceNumber { get; set; } 11 | 12 | [XmlElement("DataFatturaPrincipale", Form = XmlSchemaForm.Unqualified, DataType = "date")] 13 | public DateTime MainInvoiceDate { get; set; } 14 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroLR/LRBajaAgenciasViajesType.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroLR; 4 | 5 | [Serializable] 6 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd")] 7 | public class LRBajaAgenciasViajesType : RegistroSii 8 | { 9 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 10 | public PersonaFisicaJuridicaType Contraparte { get; set; } 11 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroLR/LRBajaCobrosMetalicoType.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroLR; 4 | 5 | [Serializable] 6 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd")] 7 | public class LRBajaCobrosMetalicoType : RegistroSii 8 | { 9 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 10 | public PersonaFisicaJuridicaType Contraparte { get; set; } 11 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Model/Decimals/Amount.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Core.Model; 2 | 3 | public sealed class Amount 4 | { 5 | private Amount(decimal value) 6 | { 7 | Value = value; 8 | } 9 | 10 | public decimal Value { get; } 11 | 12 | public static Try Create(decimal value) 13 | { 14 | return DecimalValidations.SmallerThan(value, 1000000000000).FlatMap(v => 15 | { 16 | var validatedValue = DecimalValidations.MaxDecimalPlaces(v, 2); 17 | return validatedValue.Map(a => new Amount(a)); 18 | }); 19 | } 20 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaSuministro/RespuestaLRBajaOperacionesSegurosType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaSuministro; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaSuministro.xsd")] 5 | public class RespuestaLRBajaOperacionesSegurosType : RespuestaComunBajaType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute("RespuestaLinea", Order = 0)] 8 | public RespuestaOperacionesSegurosBajaType[] RespuestaLinea { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Model/Enums/TaxMode.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Model; 2 | 3 | public enum TaxMode 4 | { 5 | GeneralTaxRegimeActivity, 6 | Export, 7 | WorksOfArt, 8 | InvestmentGold, 9 | TravelAgencies, 10 | GroupsOfEntities, 11 | CashBasis, 12 | CanaryIslandsGeneralIndirectTax, 13 | TravelAgencyServicesActingAsIntermediaries, 14 | Collections, 15 | BusinessPremisesLeaseActivities1, 16 | BusinessPremisesLeaseActivities2, 17 | BusinessPremisesLeaseActivities3, 18 | InvoiceWithVATPendingAccrual1, 19 | InvoiceWithVATPendingAccrual2 20 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque.Tests/ValidationTests.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque.Tests; 2 | 3 | [TestFixture] 4 | public sealed class ValidationTests 5 | { 6 | [Test] 7 | [TestCase("12345", true)] 8 | [TestCase("ABCDEFG", true)] 9 | [TestCase("ABCDEF123456", true)] 10 | [TestCase("12345@", false)] 11 | [TestCase("123456789123456789102", false)] 12 | [TestCase("", false)] 13 | [TestCase(" ", false)] 14 | public void PostalCodeTests(string postalCode, bool isValid) 15 | { 16 | Assert.That(PostalCode.Create(postalCode).IsSuccess, Is.EqualTo(isValid)); 17 | } 18 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Uniwix/Communication/Dto/UniwixUser.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Mews.Fiscalizations.Italy.Uniwix.Communication.Dto; 4 | 5 | public class UniwixUser 6 | { 7 | public string Id { get; set; } 8 | 9 | public string UserName { get; set; } 10 | 11 | public string Password { get; set; } 12 | 13 | [JsonProperty("bridge_key")] 14 | public string BridgeKey { get; set; } 15 | 16 | [JsonProperty("piva")] 17 | public string TaxIdentificationNumber { get; set; } 18 | 19 | [JsonProperty("descrizione")] 20 | public string Description { get; set; } 21 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/ConsultaLR/LRConsultaAgenciasViajesType.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | namespace Mews.Fiscalizations.Spain.Dto.XSD.ConsultaLR; 4 | 5 | [Serializable] 6 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/ConsultaLR.xsd")] 7 | public class LRConsultaAgenciasViajesType : ConsultaInformacion 8 | { 9 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 10 | public LRFiltroAgenciasViajesType FiltroConsulta { get; set; } 11 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/ConsultaLR/LRConsultaCobrosMetalicoType.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | namespace Mews.Fiscalizations.Spain.Dto.XSD.ConsultaLR; 4 | 5 | [Serializable] 6 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/ConsultaLR.xsd")] 7 | public class LRConsultaCobrosMetalicoType : ConsultaInformacion 8 | { 9 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 10 | public LRFiltroCobrosMetalicoType FiltroConsulta { get; set; } 11 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/RangoFechaType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public class RangoFechaType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 8 | public string Desde { get; set; } 9 | 10 | [System.Xml.Serialization.XmlElementAttribute(Order = 1)] 11 | public string Hasta { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Model/Decimals/Percentage.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Core.Model; 2 | 3 | public sealed class Percentage 4 | { 5 | private Percentage(decimal value) 6 | { 7 | Value = value; 8 | } 9 | 10 | public decimal Value { get; } 11 | 12 | public static Try Create(decimal value) 13 | { 14 | return DecimalValidations.InRange(value, 0, 100).FlatMap(v => 15 | { 16 | var validatedValue = DecimalValidations.MaxDecimalPlaces(v, 2); 17 | return validatedValue.Map(p => new Percentage(p)); 18 | }); 19 | } 20 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/ConsultaLR/LRConsultaBienesInversionType.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | namespace Mews.Fiscalizations.Spain.Dto.XSD.ConsultaLR; 4 | 5 | [Serializable] 6 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/ConsultaLR.xsd")] 7 | public class LRConsultaBienesInversionType : ConsultaInformacion 8 | { 9 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 10 | public LRFiltroBienInversionType FiltroConsulta { get; set; } 11 | } -------------------------------------------------------------------------------- /src/Austria/Mews.Fiscalizations.Austria/Dto/SignerOutput.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Austria.Dto.Identifiers; 2 | 3 | namespace Mews.Fiscalizations.Austria.Dto; 4 | 5 | public sealed class SignerOutput 6 | { 7 | public SignerOutput(JwsRepresentation jwsRepresentation, QrData qrData = null) 8 | { 9 | JwsRepresentation = jwsRepresentation; 10 | if (qrData != null) 11 | { 12 | SignedQrData = new SignedQrData(qrData, jwsRepresentation.Signature); 13 | } 14 | } 15 | 16 | public JwsRepresentation JwsRepresentation { get; } 17 | 18 | public SignedQrData SignedQrData { get; } 19 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Receive/ReceiveFileRequest.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.Receive; 4 | 5 | [Serializable] 6 | [XmlRoot("fileSdIAccoglienza", Namespace = "http://www.fatturapa.gov.it/sdi/ws/trasmissione/v1.0/types")] 7 | public class ReceiveFile 8 | { 9 | [XmlElement("NomeFile", Form = System.Xml.Schema.XmlSchemaForm.Unqualified, Order = 0)] 10 | public string FileName { get; set; } 11 | 12 | [XmlElement("File", Form = System.Xml.Schema.XmlSchemaForm.Unqualified, DataType = "base64Binary", Order = 1)] 13 | public byte[] Content { get; set; } 14 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/XmlSignature/Transform.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.XmlSignature; 4 | 5 | [Serializable, XmlType(Namespace = "http://www.w3.org/2000/09/xmldsig#"), XmlRoot("Transform", Namespace = "http://www.w3.org/2000/09/xmldsig#", IsNullable = false)] 6 | public class Transform 7 | { 8 | [XmlAnyElement, XmlElement("XPath", typeof(string))] 9 | public object[] Items { get; set; } 10 | 11 | [XmlText] 12 | public string[] Text { get; set; } 13 | 14 | [XmlAttribute(DataType = "anyURI")] 15 | public string Algorithm { get; set; } 16 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/Mappers/SignES/SignESErrorMapper.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Fiskaly.DTOs.SignES; 2 | using Mews.Fiscalizations.Fiskaly.Models; 3 | 4 | namespace Mews.Fiscalizations.Fiskaly.Mappers.SignES; 5 | 6 | internal static class SignESErrorMapper 7 | { 8 | public static ErrorResult MapSignESErrorResponse(this SignESErrorResponse errorResponse) 9 | { 10 | return new ErrorResult( 11 | Status: errorResponse.StatusCode, 12 | Code: errorResponse.Code, 13 | Error: errorResponse.Error, 14 | Message: errorResponse.Message 15 | ); 16 | } 17 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany.Tests/V2/TestFixture.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Germany.Tests.V2; 2 | 3 | public static class TestFixture 4 | { 5 | public static readonly ApiKey ApiKey = ApiKey.Create(Environment.GetEnvironmentVariable("german_api_key") ?? "INSERT_API_KEY").Success.Get(); 6 | public static readonly ApiSecret ApiSecret = ApiSecret.Create(Environment.GetEnvironmentVariable("german_api_secret") ?? "INSERT_API_SECRET").Success.Get(); 7 | public static readonly string AdminPin = Environment.GetEnvironmentVariable("german_admin_pin") ?? "INSERT_ADMIN_PIN"; 8 | public static FiskalyTestData FiskalyTestData; 9 | } -------------------------------------------------------------------------------- /src/Germany/Mews.Fiscalizations.Germany/V2/Model/Client.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Germany.V2.Model; 2 | 3 | public sealed class Client 4 | { 5 | public Client(ClientState state, string serialNumber, DateTime created, Guid tssId, Guid id) 6 | { 7 | State = state; 8 | SerialNumber = serialNumber; 9 | Created = created; 10 | TssId = tssId; 11 | Id = id; 12 | } 13 | 14 | public ClientState State { get; } 15 | 16 | public string SerialNumber { get; } 17 | 18 | public DateTime Created { get; } 19 | 20 | public Guid TssId { get; } 21 | 22 | public Guid Id { get; } 23 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/EstadoCuadreImputacionType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public enum EstadoCuadreImputacionType 6 | { 7 | [System.Xml.Serialization.XmlEnumAttribute("3")] 8 | Item3, 9 | [System.Xml.Serialization.XmlEnumAttribute("4")] 10 | Item4, 11 | [System.Xml.Serialization.XmlEnumAttribute("5")] 12 | Item5, 13 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/ConsultaLR/LRConsultaLROperacionesSegurosType.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | namespace Mews.Fiscalizations.Spain.Dto.XSD.ConsultaLR; 4 | 5 | [Serializable] 6 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/ConsultaLR.xsd")] 7 | public class LRConsultaLROperacionesSegurosType : ConsultaInformacion 8 | { 9 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 10 | public LRFiltroOperacionesSegurosType FiltroConsulta { get; set; } 11 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/RangoFechaPresentacionType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public class RangoFechaPresentacionType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 8 | public string Desde { get; set; } 9 | 10 | [System.Xml.Serialization.XmlElementAttribute(Order = 1)] 11 | public string Hasta { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/TipoSinDesgloseType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public class TipoSinDesgloseType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 8 | public SujetaType Sujeta { get; set; } 9 | 10 | [System.Xml.Serialization.XmlElementAttribute(Order = 1)] 11 | public NoSujetaType NoSujeta { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/DatiAnagraficiCessionarioType.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Schema; 2 | using System.Xml.Serialization; 3 | 4 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 5 | 6 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 7 | public class DatiAnagraficiCessionarioType 8 | { 9 | [XmlElement(Form = XmlSchemaForm.Unqualified)] 10 | public SenderId IdFiscaleIVA { get; set; } 11 | 12 | [XmlElement(Form = XmlSchemaForm.Unqualified)] 13 | public string CodiceFiscale { get; set; } 14 | 15 | [XmlElement(Form = XmlSchemaForm.Unqualified)] 16 | public Identity Anagrafica { get; set; } 17 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/StampDutyData.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Schema; 2 | using System.Xml.Serialization; 3 | 4 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 5 | 6 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 7 | public class StampDutyData 8 | { 9 | public StampDutyData() 10 | { 11 | StampDutyPaid = StampDutyPaid.SI; 12 | } 13 | 14 | [XmlElement("BolloVirtuale", Form = XmlSchemaForm.Unqualified)] 15 | public StampDutyPaid StampDutyPaid { get; set; } 16 | 17 | [XmlElement("ImportoBollo", Form = XmlSchemaForm.Unqualified)] 18 | public decimal AmountPaid { get; set; } 19 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/ConsultaLR/LRFiltroAgenciasViajesTypeClavePaginacion.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | namespace Mews.Fiscalizations.Spain.Dto.XSD.ConsultaLR; 4 | 5 | [Serializable] 6 | [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/ConsultaLR.xsd")] 7 | public class LRFiltroAgenciasViajesTypeClavePaginacion 8 | { 9 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 10 | public PersonaFisicaJuridicaType Contraparte { get; set; } 11 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/ConsultaLR/LRFiltroCobrosMetalicoTypeClavePaginacion.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | namespace Mews.Fiscalizations.Spain.Dto.XSD.ConsultaLR; 4 | 5 | [Serializable] 6 | [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/ConsultaLR.xsd")] 7 | public class LRFiltroCobrosMetalicoTypeClavePaginacion 8 | { 9 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 10 | public PersonaFisicaJuridicaType Contraparte { get; set; } 11 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Model/Request/ForeignCompany.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Model.Request; 2 | 3 | public sealed class ForeignCompany 4 | { 5 | public ForeignCompany(Name name, ForeignTaxpayerNumber taxpayerNumber) 6 | { 7 | Name = Check.IsNotNull(name, nameof(name)); 8 | TaxpayerNumber = Check.IsNotNull(taxpayerNumber, nameof(taxpayerNumber)); 9 | } 10 | 11 | public Name Name { get; } 12 | 13 | public ForeignTaxpayerNumber TaxpayerNumber { get; } 14 | 15 | public ResidenceCountryIdentificatorType IdentificatorType => ResidenceCountryIdentificatorType.OtherSupportingDocument; 16 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core/Xml/Signing/Utils/XMLUtil.cs: -------------------------------------------------------------------------------- 1 | using System.Text; 2 | using System.Xml; 3 | 4 | namespace Mews.Fiscalizations.Core.Xml.Signing.Utils; 5 | 6 | internal static class XMLUtil 7 | { 8 | public static byte[] ApplyTransform(XmlElement element, System.Security.Cryptography.Xml.Transform transform) 9 | { 10 | var buffer = Encoding.UTF8.GetBytes(element.OuterXml); 11 | using var ms = new MemoryStream(buffer); 12 | transform.LoadInput(ms); 13 | 14 | using var transformedStream = (MemoryStream)transform.GetOutput(typeof(Stream)); 15 | return transformedStream.ToArray(); 16 | } 17 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/TaxationInfo.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary; 2 | 3 | public static class TaxationInfo 4 | { 5 | internal static HashSet PercentageTaxRates { get; } 6 | 7 | internal static CurrencyCode DefaultCurrencyCode { get; } 8 | 9 | static TaxationInfo() 10 | { 11 | PercentageTaxRates = new HashSet 12 | { 13 | 0.05m, 14 | 0.07m, 15 | 0.12m, 16 | 0.18m, 17 | 0.2m, 18 | 0.25m, 19 | 0.27m, 20 | }; 21 | DefaultCurrencyCode = CurrencyCode.HungarianForint(); 22 | } 23 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/ConsultaLR/ConsultaLRFactInformadasClienteType.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | namespace Mews.Fiscalizations.Spain.Dto.XSD.ConsultaLR; 4 | 5 | [Serializable] 6 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/ConsultaLR.xsd")] 7 | public class ConsultaLRFactInformadasClienteType : ConsultaInformacionCliente 8 | { 9 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 10 | public LRFiltroFactInformadasClienteType FiltroConsulta { get; set; } 11 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/ConsultaLR/LRConsultaDetOperIntracomunitariasType.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | namespace Mews.Fiscalizations.Spain.Dto.XSD.ConsultaLR; 4 | 5 | [Serializable] 6 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/ConsultaLR.xsd")] 7 | public class LRConsultaDetOperIntracomunitariasType : ConsultaInformacion 8 | { 9 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 10 | public LRFiltroDetOperIntracomunitariasType FiltroConsulta { get; set; } 11 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/DTOs/Management/Organizations/CreateManagedOrganizationApiKeyRequest.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Fiskaly.DTOs.Management.Organizations; 4 | 5 | internal sealed class CreateManagedOrganizationApiKeyRequest 6 | { 7 | [JsonPropertyName("name")] 8 | public string Name { get; set; } 9 | 10 | [JsonPropertyName("status")] 11 | [JsonConverter(typeof(JsonStringEnumConverter))] 12 | public ApiKeyStatusEnum Status { get; set; } 13 | 14 | [JsonPropertyName("managed_by_organization_id")] 15 | public string ManagedByOrganizationId { get; set; } 16 | 17 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/ConsultaLR/ConsultaInmueblesAdicionalesType.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | namespace Mews.Fiscalizations.Spain.Dto.XSD.ConsultaLR; 4 | 5 | [Serializable] 6 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/ConsultaLR.xsd")] 7 | public class ConsultaInmueblesAdicionalesType : ConsultaInformacion 8 | { 9 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 10 | public LRFiltroInmueblesAdicionalesType FiltroConsultaInmueblesAdicionales { get; set; } 11 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/DatosPresentacionType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public class DatosPresentacionType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 8 | public string NIFPresentador { get; set; } 9 | 10 | [System.Xml.Serialization.XmlElementAttribute(Order = 1)] 11 | public string TimestampPresentacion { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/DatiAnagraficiTerzoIntermediarioType.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Schema; 2 | using System.Xml.Serialization; 3 | 4 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 5 | 6 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 7 | public class DatiAnagraficiTerzoIntermediarioType 8 | { 9 | [XmlElement(Form = XmlSchemaForm.Unqualified)] 10 | public SenderId IdFiscaleIVA { get; set; } 11 | 12 | [XmlElement(Form = XmlSchemaForm.Unqualified)] 13 | public string CodiceFiscale { get; set; } 14 | 15 | [XmlElement(Form = XmlSchemaForm.Unqualified)] 16 | public Identity Anagrafica { get; set; } 17 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/CabeceraSiiBaja.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public class CabeceraSiiBaja 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 8 | public VersionSiiType IDVersionSii { get; set; } 9 | 10 | [System.Xml.Serialization.XmlElementAttribute(Order = 1)] 11 | public PersonaFisicaJuridicaESType Titular { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/IDFacturaARType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public class IDFacturaARType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 8 | public string NumSerieFacturaEmisor { get; set; } 9 | 10 | [System.Xml.Serialization.XmlElementAttribute(Order = 1)] 11 | public string FechaExpedicionFacturaEmisor { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/NoSujetaType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public class NoSujetaType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 8 | public string ImportePorArticulos7_14_Otros { get; set; } 9 | 10 | [System.Xml.Serialization.XmlElementAttribute(Order = 1)] 11 | public string ImporteTAIReglasLocalizacion { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/PersonaFisicaJuridicaUnicaESType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public class PersonaFisicaJuridicaUnicaESType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 8 | public string NombreRazon { get; set; } 9 | 10 | [System.Xml.Serialization.XmlElementAttribute(Order = 1)] 11 | public string NIF { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Model/PostalCode.cs: -------------------------------------------------------------------------------- 1 | using System.Text.RegularExpressions; 2 | 3 | namespace Mews.Fiscalizations.Basque.Model; 4 | 5 | public sealed class PostalCode 6 | { 7 | private PostalCode(string value) 8 | { 9 | Value = value; 10 | } 11 | 12 | public string Value { get; } 13 | 14 | public static Try Create(string value) 15 | { 16 | return StringValidations.RegexMatch(value, new Regex("^[a-zA-Z0-9]{1,20}$")).Map(v => new PostalCode(v)); 17 | } 18 | 19 | public static PostalCode CreateUnsafe(string value) 20 | { 21 | return Create(value).GetUnsafe(); 22 | } 23 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/Invoice/Contact.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Schema; 2 | using System.Xml.Serialization; 3 | 4 | namespace Mews.Fiscalizations.Italy.Dto.Invoice; 5 | 6 | [Serializable, XmlType(Namespace = ElectronicInvoice.Namespace)] 7 | public class Contact 8 | { 9 | [XmlElement("Telefono", Form = XmlSchemaForm.Unqualified, DataType = "normalizedString")] 10 | public string Phone { get; set; } 11 | 12 | [XmlElement("Fax", Form = XmlSchemaForm.Unqualified, DataType = "normalizedString")] 13 | public string Fax { get; set; } 14 | 15 | [XmlElement("Email", Form = XmlSchemaForm.Unqualified)] 16 | public string Email { get; set; } 17 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain.Tests/Mews.Fiscalizations.Spain.Tests.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net8.0;net10.0 4 | true 5 | 12 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/DatosInmuebleType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public class DatosInmuebleType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 8 | public SituacionInmuebleType SituacionInmueble { get; set; } 9 | 10 | [System.Xml.Serialization.XmlElementAttribute(Order = 1)] 11 | public string ReferenciaCatastral { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/LocalTaxpayerIdentificationNumber.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Hungary.Models; 2 | 3 | public sealed class LocalTaxpayerIdentificationNumber 4 | { 5 | private LocalTaxpayerIdentificationNumber(TaxpayerIdentificationNumber value) 6 | { 7 | Value = value; 8 | } 9 | 10 | public TaxpayerIdentificationNumber Value { get; } 11 | 12 | public static Try Create(string taxId) 13 | { 14 | return TaxpayerIdentificationNumber.Create(Countries.Hungary, taxId, isCountryCodePrefixAllowed: false).Map(n => new LocalTaxpayerIdentificationNumber(n)); 15 | } 16 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/XmlSignature/RetrievalMethod.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.XmlSignature; 4 | 5 | [Serializable, XmlType(Namespace = "http://www.w3.org/2000/09/xmldsig#"), XmlRoot("RetrievalMethod", Namespace = "http://www.w3.org/2000/09/xmldsig#", IsNullable = false)] 6 | public class RetrievalMethod 7 | { 8 | [XmlArrayItem("Transform", IsNullable = false)] 9 | public Transform[] Transforms { get; set; } 10 | 11 | [XmlAttribute(DataType = "anyURI")] 12 | public string URI { get; set; } 13 | 14 | [XmlAttribute(DataType = "anyURI")] 15 | public string Type { get; set; } 16 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/CabeceraConsultaSii.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public class CabeceraConsultaSii 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 8 | public VersionSiiType IDVersionSii { get; set; } 9 | 10 | [System.Xml.Serialization.XmlElementAttribute(Order = 1)] 11 | public PersonaFisicaJuridicaUnicaESType Titular { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/TipoSinDesglosePrestacionType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public class TipoSinDesglosePrestacionType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 8 | public SujetaPrestacionType Sujeta { get; set; } 9 | 10 | [System.Xml.Serialization.XmlElementAttribute(Order = 1)] 11 | public NoSujetaType NoSujeta { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Model/Issuer.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque.Model; 2 | 3 | public sealed class Issuer 4 | { 5 | public Issuer(TaxpayerIdentificationNumber nif, Name name) 6 | { 7 | Nif = Check.IsNotNull(nif, nameof(nif)); 8 | Name = Check.IsNotNull(name, nameof(name)); 9 | } 10 | 11 | public TaxpayerIdentificationNumber Nif { get; } 12 | 13 | public Name Name { get; } 14 | 15 | public static Try Create(Name name, string nif) 16 | { 17 | return TaxpayerIdentificationNumber.Create(Countries.Spain, nif, isCountryCodePrefixAllowed: false).Map(n => new Issuer(n, name)); 18 | } 19 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly/Mappers/SignES/ClientDevices/ClientDeviceMapper.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Fiskaly.DTOs.SignES; 2 | using Mews.Fiscalizations.Fiskaly.DTOs.SignES.ClientDevices; 3 | using Mews.Fiscalizations.Fiskaly.Models.SignES.ClientDevices; 4 | 5 | namespace Mews.Fiscalizations.Fiskaly.Mappers.SignES.ClientDevices; 6 | 7 | internal static class ClientDeviceMapper 8 | { 9 | public static ClientDevice MapClientDeviceResponse(this ContentWrapper response) 10 | { 11 | return new ClientDevice( 12 | ClientId: response.Content.Id, 13 | SignerId: response.Content.Signer.Id 14 | ); 15 | } 16 | } -------------------------------------------------------------------------------- /src/Hungary/Mews.Fiscalizations.Hungary/Models/Types/VatCode.cs: -------------------------------------------------------------------------------- 1 | using System.Text.RegularExpressions; 2 | 3 | namespace Mews.Fiscalizations.Hungary.Models; 4 | 5 | public sealed class VatCode 6 | { 7 | private VatCode(string value) 8 | { 9 | Value = value; 10 | } 11 | 12 | public string Value { get; } 13 | 14 | public static Try Create(string value) 15 | { 16 | return StringValidations.NonEmptyNorWhitespace(value).FlatMap(v => 17 | { 18 | var validVatCode = StringValidations.RegexMatch(v, new Regex("[1-5]{1}")); 19 | return validVatCode.Map(c => new VatCode(c)); 20 | }); 21 | } 22 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/XmlSignature/SignatureMethod.cs: -------------------------------------------------------------------------------- 1 | using System.Xml; 2 | using System.Xml.Serialization; 3 | 4 | namespace Mews.Fiscalizations.Italy.Dto.XmlSignature; 5 | 6 | [Serializable, XmlType(Namespace = "http://www.w3.org/2000/09/xmldsig#"), XmlRoot("SignatureMethod", Namespace = "http://www.w3.org/2000/09/xmldsig#", IsNullable = false)] 7 | public class SignatureMethod 8 | { 9 | [XmlElement(DataType = "integer")] 10 | public string HMACOutputLength { get; set; } 11 | 12 | [XmlText, XmlAnyElement] 13 | public XmlNode[] Any { get; set; } 14 | 15 | [XmlAttribute(DataType = "anyURI")] 16 | public string Algorithm { get; set; } 17 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/ConsultaLR/ConsultaLRFactInformadasAgrupadasClienteType.cs: -------------------------------------------------------------------------------- 1 | using Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | namespace Mews.Fiscalizations.Spain.Dto.XSD.ConsultaLR; 4 | 5 | [Serializable] 6 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/ConsultaLR.xsd")] 7 | public class ConsultaLRFactInformadasAgrupadasClienteType : ConsultaInformacionCliente 8 | { 9 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 10 | public LRFiltroFactInformadasAgrupadasClienteType FiltroConsulta { get; set; } 11 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/IDFacturaConsulta2Type.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public class IDFacturaConsulta2Type 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 8 | public string NumSerieFacturaEmisor { get; set; } 9 | 10 | [System.Xml.Serialization.XmlElementAttribute(Order = 1)] 11 | public string FechaExpedicionFacturaEmisor { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/XmlSignature/SignedInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.XmlSignature; 4 | 5 | [Serializable, XmlType(Namespace = "http://www.w3.org/2000/09/xmldsig#"), XmlRoot("SignedInfo", Namespace = "http://www.w3.org/2000/09/xmldsig#", IsNullable = false)] 6 | public class SignedInfo 7 | { 8 | public CanonicalizationMethod CanonicalizationMethod { get; set; } 9 | 10 | public SignatureMethod SignatureMethod { get; set; } 11 | 12 | [XmlElement("Reference")] 13 | public Reference[] Reference { get; set; } 14 | 15 | [XmlAttribute(DataType = "ID")] 16 | public string Id { get; set; } 17 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/TipoConDesgloseType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public class TipoConDesgloseType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 8 | public TipoSinDesglosePrestacionType PrestacionServicios { get; set; } 9 | 10 | [System.Xml.Serialization.XmlElementAttribute(Order = 1)] 11 | public TipoSinDesgloseType Entrega { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/Responses/SoapFault/SoapFaultResultBodyFault.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Spain.Dto.Responses.SoapFault; 4 | 5 | [XmlType(AnonymousType = true, Namespace = "http://schemas.xmlsoap.org/soap/envelope/")] 6 | public class SoapFaultResultBodyFault 7 | { 8 | [XmlElement(Namespace = "", ElementName = "faultcode")] 9 | public string Code { get; set; } 10 | 11 | [XmlElement(Namespace = "", ElementName = "faultstring")] 12 | public string Message { get; set; } 13 | 14 | [XmlElement(Namespace = "", ElementName = "detail")] 15 | public SoapFaultResultBodyFaultDetail Detail { get; set; } 16 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaConsultaLR/RespuestaConsultaLRAgenciasViajesType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaConsultaLR; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaConsultaLR.xsd")] 5 | public class RespuestaConsultaLRAgenciasViajesType : RespuestaConsultaLRFacturasType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute("RegistroRespuestaConsultaLRAgenciasViajes", Order = 0)] 8 | public RegistroRespuestaConsultaAgenciasViajesType[] RegistroRespuestaConsultaLRAgenciasViajes { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaConsultaLR/RespuestaConsultaLRBienesInversionType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaConsultaLR; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaConsultaLR.xsd")] 5 | public class RespuestaConsultaLRBienesInversionType : RespuestaConsultaLRFacturasType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute("RegistroRespuestaConsultaLRBienesInversion", Order = 0)] 8 | public RegistroRespuestaConsultaBienesType[] RegistroRespuestaConsultaLRBienesInversion { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaConsultaLR/RespuestaConsultaLRCobrosMetalicoType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaConsultaLR; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaConsultaLR.xsd")] 5 | public class RespuestaConsultaLRCobrosMetalicoType : RespuestaConsultaLRFacturasType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute("RegistroRespuestaConsultaLRCobrosMetalico", Order = 0)] 8 | public RegistroRespuestaConsultaCobrosMetalicoType[] RegistroRespuestaConsultaLRCobrosMetalico { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/IDFacturaRecibidaTypeIDEmisorFactura.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public class IDFacturaRecibidaTypeIDEmisorFactura 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute("IDOtro", typeof(IDOtroType), Order = 0)] 8 | [System.Xml.Serialization.XmlElementAttribute("NIF", typeof(string), Order = 0)] 9 | public object Item { get; set; } 10 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Model/Request/TaxRateSummary.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Model.Request; 2 | 3 | public sealed class TaxRateSummary 4 | { 5 | public TaxRateSummary(Percentage taxRatePercentage, Amount taxBaseAmount, Amount taxAmount) 6 | { 7 | TaxRatePercentage = Check.IsNotNull(taxRatePercentage, nameof(taxRatePercentage)); 8 | TaxBaseAmount = Check.IsNotNull(taxBaseAmount, nameof(taxBaseAmount)); 9 | TaxAmount = Check.IsNotNull(taxAmount, nameof(taxAmount)); 10 | } 11 | 12 | public Percentage TaxRatePercentage { get; } 13 | 14 | public Amount TaxBaseAmount { get; } 15 | 16 | public Amount TaxAmount { get; } 17 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Model/Receiver/ForeignReceiver.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque.Model; 2 | 3 | public sealed class ForeignReceiver : ReceiverInfo 4 | { 5 | public ForeignReceiver(IdType idType, String1To20 id, Name name, PostalCode postalCode, String1To250 address, Country country) 6 | : base(name, postalCode, address) 7 | { 8 | IdType = Check.IsNotNull(idType, nameof(idType)); 9 | Id = Check.IsNotNull(id, nameof(id)); 10 | Country = Check.IsNotNull(country, nameof(country)); 11 | } 12 | 13 | public IdType IdType { get; } 14 | 15 | public String1To20 Id { get; } 16 | 17 | public Country Country { get; } 18 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Model/Subject.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque.Model; 2 | 3 | public sealed class Subject 4 | { 5 | public Subject(Issuer issuer, IEnumerable receivers = null, IssuerType? issuerType = null) 6 | { 7 | Issuer = issuer; 8 | Receivers = receivers.ToOption(); 9 | MultipleReceivers = Receivers.Map(r => r.Count() > 1); 10 | IssuerType = issuerType.ToOption(); 11 | } 12 | 13 | public Issuer Issuer { get; } 14 | 15 | public Option> Receivers { get; } 16 | 17 | public Option MultipleReceivers { get; } 18 | 19 | public Option IssuerType { get; } 20 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaConsultaLR/RespuestaConsultaLRFacturasEmitidasType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaConsultaLR; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaConsultaLR.xsd")] 5 | public class RespuestaConsultaLRFacturasEmitidasType : RespuestaConsultaLRFacturasType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute("RegistroRespuestaConsultaLRFacturasEmitidas", Order = 0)] 8 | public RegistroRespuestaConsultaEmitidasType[] RegistroRespuestaConsultaLRFacturasEmitidas { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/CabeceraConsultaSiiCliente.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public class CabeceraConsultaSiiCliente 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 8 | public VersionSiiType IDVersionSii { get; set; } 9 | 10 | [System.Xml.Serialization.XmlElementAttribute(Order = 1)] 11 | public PersonaFisicaJuridicaUnicaESType TitularLRFE { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/IDFacturaImputacionTypeIDEmisorFactura.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public class IDFacturaImputacionTypeIDEmisorFactura 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 8 | public string NombreRazon { get; set; } 9 | 10 | [System.Xml.Serialization.XmlElementAttribute(Order = 1)] 11 | public string NIF { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Model/Invoice/TaxBreakdown/TaxRateSummary.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque.Model; 2 | 3 | public sealed class TaxRateSummary 4 | { 5 | public TaxRateSummary(Percentage taxRatePercentage, Amount taxBaseAmount, Amount taxAmount) 6 | { 7 | TaxRatePercentage = Check.IsNotNull(taxRatePercentage, nameof(taxRatePercentage)); 8 | TaxBaseAmount = Check.IsNotNull(taxBaseAmount, nameof(taxBaseAmount)); 9 | TaxAmount = Check.IsNotNull(taxAmount, nameof(taxAmount)); 10 | } 11 | 12 | public Percentage TaxRatePercentage { get; } 13 | 14 | public Amount TaxBaseAmount { get; } 15 | 16 | public Amount TaxAmount { get; } 17 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy.Tests/Mews.Fiscalizations.Italy.Tests.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net8.0;net10.0 4 | false 5 | true 6 | 12 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaConsultaLR/RespuestaConsultaLRFacturasRecibidasType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaConsultaLR; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaConsultaLR.xsd")] 5 | public class RespuestaConsultaLRFacturasRecibidasType : RespuestaConsultaLRFacturasType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute("RegistroRespuestaConsultaLRFacturasRecibidas", Order = 0)] 8 | public RegistroRespuestaConsultaRecibidasType[] RegistroRespuestaConsultaLRFacturasRecibidas { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Model/Invoice/InvoiceFooter.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque.Model; 2 | 3 | public sealed class InvoiceFooter 4 | { 5 | public InvoiceFooter(Software software, OriginalInvoiceInfo originalInvoiceInfo = null, String1To30 deviceSerialNumber = null) 6 | { 7 | Software = Check.IsNotNull(software, nameof(software)); 8 | OriginalInvoiceInfo = originalInvoiceInfo.ToOption(); 9 | DeviceSerialNumber = deviceSerialNumber.ToOption(); 10 | } 11 | 12 | public Software Software { get; } 13 | 14 | public Option OriginalInvoiceInfo { get; } 15 | 16 | public Option DeviceSerialNumber { get; } 17 | } -------------------------------------------------------------------------------- /src/Core/Mews.Fiscalizations.Core.Tests/Mews.Fiscalizations.Core.Tests.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net8.0;net10.0 4 | false 5 | true 6 | 12 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/ClavePaginacionClienteTypeIDEmisorFactura.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public class ClavePaginacionClienteTypeIDEmisorFactura 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 8 | public string NombreRazon { get; set; } 9 | 10 | [System.Xml.Serialization.XmlElementAttribute(Order = 1)] 11 | public string NIF { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/ClavePaginacionProveedorTypeIDEmisorFactura.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public class ClavePaginacionProveedorTypeIDEmisorFactura 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute(Order = 0)] 8 | public string NombreRazon { get; set; } 9 | 10 | [System.Xml.Serialization.XmlElementAttribute(Order = 1)] 11 | public string NIF { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/SuministroInformacion/SituacionInmuebleType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.SuministroInformacion; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd")] 5 | public enum SituacionInmuebleType 6 | { 7 | [System.Xml.Serialization.XmlEnumAttribute("1")] 8 | Item1, 9 | [System.Xml.Serialization.XmlEnumAttribute("2")] 10 | Item2, 11 | [System.Xml.Serialization.XmlEnumAttribute("3")] 12 | Item3, 13 | [System.Xml.Serialization.XmlEnumAttribute("4")] 14 | Item4, 15 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Model/Response/ReceivedInvoices.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Model.Response; 2 | 3 | public sealed class ReceivedInvoices 4 | { 5 | public ReceivedInvoices(Header header, RegisterResult result, InvoiceResult[] invoices, string secureVerificationCode = null) 6 | { 7 | Header = header; 8 | Result = result; 9 | Invoices = invoices; 10 | SuccessfulRequestId = secureVerificationCode.ToOption(); 11 | } 12 | 13 | public Header Header { get; } 14 | 15 | public RegisterResult Result { get; } 16 | 17 | public InvoiceResult[] Invoices { get; } 18 | 19 | public Option SuccessfulRequestId { get; } 20 | } -------------------------------------------------------------------------------- /src/Basque/Mews.Fiscalizations.Basque/Model/Invoice/TaxMode.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Basque.Model; 2 | 3 | public enum TaxMode 4 | { 5 | GeneralTaxRegimeActivity, 6 | Export, 7 | NotVatEntity, 8 | SimplifiedOperations, 9 | TravelAgencyServicesActingAsIntermediaries, 10 | WorksOfArt, 11 | InvestmentGold, 12 | TravelAgencies, 13 | GroupsOfEntities, 14 | CashBasis, 15 | CanaryIslandsGeneralIndirectTax, 16 | Collections, 17 | BusinessPremisesLeaseActivities1, 18 | BusinessPremisesLeaseActivities2, 19 | BusinessPremisesLeaseActivities3, 20 | InvoiceWithVATPendingAccrual1, 21 | InvoiceWithVATPendingAccrual2, 22 | SurchargeOperations 23 | } -------------------------------------------------------------------------------- /src/Fiskaly/Mews.Fiscalizations.Fiskaly.Tests/TestFixture.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Fiskaly.Tests; 2 | 3 | public static class TestFixture 4 | { 5 | public static readonly string SignESApiKey = Environment.GetEnvironmentVariable("fiskaly_signes_api_key") ?? "INSERT_API_KEY"; 6 | public static readonly string SignESApiSecret = Environment.GetEnvironmentVariable("fiskaly_signes_api_secret") ?? "INSERT_API_SECRET"; 7 | public static readonly string ManagementApiKey = Environment.GetEnvironmentVariable("fiskaly_management_api_key") ?? "INSERT_API_KEY"; 8 | public static readonly string ManagementApiSecret = Environment.GetEnvironmentVariable("fiskaly_management_api_secret") ?? "INSERT_API_SECRET"; 9 | } -------------------------------------------------------------------------------- /src/Italy/Mews.Fiscalizations.Italy/Dto/XmlSignature/Signature.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Mews.Fiscalizations.Italy.Dto.XmlSignature; 4 | 5 | [Serializable, XmlType(Namespace = "http://www.w3.org/2000/09/xmldsig#"), XmlRoot("Signature", Namespace = "http://www.w3.org/2000/09/xmldsig#", IsNullable = false)] 6 | public class Signature 7 | { 8 | public SignedInfo SignedInfo { get; set; } 9 | 10 | public SignatureValue SignatureValue { get; set; } 11 | 12 | public KeyInfo KeyInfo { get; set; } 13 | 14 | [XmlElement("Object")] 15 | public SignatureObject[] Object { get; set; } 16 | 17 | [XmlAttribute(DataType = "ID")] 18 | public string Id { get; set; } 19 | } -------------------------------------------------------------------------------- /src/Spain/Mews.Fiscalizations.Spain/Dto/XSD/RespuestaConsultaLR/RespuestaConsultaLROperacionesSegurosType.cs: -------------------------------------------------------------------------------- 1 | namespace Mews.Fiscalizations.Spain.Dto.XSD.RespuestaConsultaLR; 2 | 3 | [Serializable] 4 | [System.Xml.Serialization.XmlTypeAttribute(Namespace = "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaConsultaLR.xsd")] 5 | public class RespuestaConsultaLROperacionesSegurosType : RespuestaConsultaLRFacturasType 6 | { 7 | [System.Xml.Serialization.XmlElementAttribute("RegistroRespuestaConsultaLROperacionesSeguros", Order = 0)] 8 | public RegistroRespuestaConsultaOperacionesSegurosType[] RegistroRespuestaConsultaLROperacionesSeguros { get; set; } 9 | } --------------------------------------------------------------------------------