factpulse 2.0.37__py3-none-any.whl → 3.0.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of factpulse might be problematic. Click here for more details.

Files changed (262) hide show
  1. factpulse/__init__.py +265 -197
  2. factpulse/api/__init__.py +5 -4
  3. factpulse/api/afnorpdppa_api.py +34 -34
  4. factpulse/api/afnorpdppa_directory_service_api.py +59 -59
  5. factpulse/api/afnorpdppa_flow_service_api.py +23 -23
  6. factpulse/api/chorus_pro_api.py +211 -211
  7. factpulse/api/document_conversion_api.py +1506 -0
  8. factpulse/api/{sant_api.py → health_api.py} +22 -22
  9. factpulse/api/invoice_processing_api.py +3437 -0
  10. factpulse/api/{vrification_pdfxml_api.py → pdfxml_verification_api.py} +240 -240
  11. factpulse/api/{utilisateur_api.py → user_api.py} +17 -17
  12. factpulse/api_client.py +3 -3
  13. factpulse/configuration.py +3 -3
  14. factpulse/exceptions.py +2 -2
  15. factpulse/models/__init__.py +128 -95
  16. factpulse/models/acknowledgment_status.py +38 -0
  17. factpulse/models/additional_document.py +115 -0
  18. factpulse/models/afnor_credentials.py +106 -0
  19. factpulse/models/afnor_destination.py +127 -0
  20. factpulse/models/afnor_health_check_response.py +91 -0
  21. factpulse/models/afnor_result.py +105 -0
  22. factpulse/models/allowance_charge.py +147 -0
  23. factpulse/models/allowance_reason_code.py +42 -0
  24. factpulse/models/allowance_total_amount.py +145 -0
  25. factpulse/models/amount.py +139 -0
  26. factpulse/models/amount_due.py +139 -0
  27. factpulse/models/api_error.py +5 -5
  28. factpulse/models/async_task_status.py +97 -0
  29. factpulse/models/base_amount.py +145 -0
  30. factpulse/models/bounding_box_schema.py +10 -10
  31. factpulse/models/celery_status.py +40 -0
  32. factpulse/models/certificate_info_response.py +24 -24
  33. factpulse/models/charge_total_amount.py +145 -0
  34. factpulse/models/chorus_pro_destination.py +108 -0
  35. factpulse/models/chorus_pro_result.py +101 -0
  36. factpulse/models/contact.py +113 -0
  37. factpulse/models/convert_error_response.py +105 -0
  38. factpulse/models/convert_pending_input_response.py +114 -0
  39. factpulse/models/convert_resume_request.py +87 -0
  40. factpulse/models/convert_success_response.py +126 -0
  41. factpulse/models/convert_validation_failed_response.py +120 -0
  42. factpulse/models/delivery_party.py +121 -0
  43. factpulse/models/destination.py +27 -27
  44. factpulse/models/document_type_info.py +91 -0
  45. factpulse/models/electronic_address.py +90 -0
  46. factpulse/models/enriched_invoice_info.py +133 -0
  47. factpulse/models/error_level.py +2 -2
  48. factpulse/models/error_source.py +2 -2
  49. factpulse/models/extraction_info.py +93 -0
  50. factpulse/models/factur_x_invoice.py +320 -0
  51. factpulse/models/factur_x_profile.py +39 -0
  52. factpulse/models/factur_xpdf_info.py +91 -0
  53. factpulse/models/facture_electronique_rest_api_schemas_chorus_pro_chorus_pro_credentials.py +95 -0
  54. factpulse/models/facture_electronique_rest_api_schemas_processing_chorus_pro_credentials.py +115 -0
  55. factpulse/models/field_status.py +40 -0
  56. factpulse/models/file_info.py +94 -0
  57. factpulse/models/files_info.py +106 -0
  58. factpulse/models/flow_direction.py +37 -0
  59. factpulse/models/flow_profile.py +38 -0
  60. factpulse/models/flow_summary.py +131 -0
  61. factpulse/models/flow_syntax.py +40 -0
  62. factpulse/models/flow_type.py +40 -0
  63. factpulse/models/generate_certificate_request.py +26 -26
  64. factpulse/models/generate_certificate_response.py +15 -15
  65. factpulse/models/get_chorus_pro_id_request.py +100 -0
  66. factpulse/models/get_chorus_pro_id_response.py +98 -0
  67. factpulse/models/get_invoice_request.py +98 -0
  68. factpulse/models/get_invoice_response.py +142 -0
  69. factpulse/models/get_structure_request.py +100 -0
  70. factpulse/models/get_structure_response.py +142 -0
  71. factpulse/models/global_allowance_amount.py +139 -0
  72. factpulse/models/gross_unit_price.py +145 -0
  73. factpulse/models/http_validation_error.py +2 -2
  74. factpulse/models/incoming_invoice.py +196 -0
  75. factpulse/models/incoming_supplier.py +144 -0
  76. factpulse/models/invoice_format.py +38 -0
  77. factpulse/models/invoice_line.py +354 -0
  78. factpulse/models/invoice_line_allowance_amount.py +145 -0
  79. factpulse/models/invoice_note.py +94 -0
  80. factpulse/models/invoice_references.py +194 -0
  81. factpulse/models/invoice_status.py +96 -0
  82. factpulse/models/invoice_totals.py +177 -0
  83. factpulse/models/invoice_totals_prepayment.py +145 -0
  84. factpulse/models/invoice_type_code.py +51 -0
  85. factpulse/models/invoicing_framework.py +110 -0
  86. factpulse/models/invoicing_framework_code.py +39 -0
  87. factpulse/models/line_net_amount.py +145 -0
  88. factpulse/models/line_total_amount.py +145 -0
  89. factpulse/models/mandatory_note_schema.py +124 -0
  90. factpulse/models/manual_rate.py +139 -0
  91. factpulse/models/manual_vat_rate.py +139 -0
  92. factpulse/models/missing_field.py +107 -0
  93. factpulse/models/operation_nature.py +49 -0
  94. factpulse/models/output_format.py +37 -0
  95. factpulse/models/page_dimensions_schema.py +89 -0
  96. factpulse/models/payee.py +168 -0
  97. factpulse/models/payment_card.py +99 -0
  98. factpulse/models/payment_means.py +41 -0
  99. factpulse/models/pdf_validation_result_api.py +169 -0
  100. factpulse/models/pdp_credentials.py +15 -15
  101. factpulse/models/percentage.py +145 -0
  102. factpulse/models/postal_address.py +134 -0
  103. factpulse/models/price_allowance_amount.py +145 -0
  104. factpulse/models/price_basis_quantity.py +145 -0
  105. factpulse/models/processing_options.py +94 -0
  106. factpulse/models/product_characteristic.py +89 -0
  107. factpulse/models/product_classification.py +101 -0
  108. factpulse/models/quantity.py +139 -0
  109. factpulse/models/recipient.py +167 -0
  110. factpulse/models/rounding_amount.py +145 -0
  111. factpulse/models/scheme_id.py +10 -4
  112. factpulse/models/search_flow_request.py +143 -0
  113. factpulse/models/search_flow_response.py +101 -0
  114. factpulse/models/search_services_response.py +101 -0
  115. factpulse/models/search_structure_request.py +119 -0
  116. factpulse/models/search_structure_response.py +101 -0
  117. factpulse/models/signature_info.py +6 -6
  118. factpulse/models/signature_info_api.py +122 -0
  119. factpulse/models/signature_parameters.py +133 -0
  120. factpulse/models/simplified_invoice_data.py +124 -0
  121. factpulse/models/structure_info.py +14 -14
  122. factpulse/models/structure_parameters.py +91 -0
  123. factpulse/models/structure_service.py +93 -0
  124. factpulse/models/submission_mode.py +38 -0
  125. factpulse/models/submit_complete_invoice_request.py +116 -0
  126. factpulse/models/submit_complete_invoice_response.py +145 -0
  127. factpulse/models/submit_flow_request.py +123 -0
  128. factpulse/models/submit_flow_response.py +109 -0
  129. factpulse/models/submit_gross_amount.py +139 -0
  130. factpulse/models/submit_invoice_request.py +176 -0
  131. factpulse/models/submit_invoice_response.py +103 -0
  132. factpulse/models/submit_net_amount.py +139 -0
  133. factpulse/models/submit_vat_amount.py +139 -0
  134. factpulse/models/supplementary_attachment.py +95 -0
  135. factpulse/models/supplier.py +225 -0
  136. factpulse/models/task_response.py +87 -0
  137. factpulse/models/tax_representative.py +95 -0
  138. factpulse/models/taxable_amount.py +139 -0
  139. factpulse/models/total_gross_amount.py +139 -0
  140. factpulse/models/total_net_amount.py +139 -0
  141. factpulse/models/total_vat_amount.py +139 -0
  142. factpulse/models/unit_net_price.py +139 -0
  143. factpulse/models/unit_of_measure.py +41 -0
  144. factpulse/models/validation_error.py +2 -2
  145. factpulse/models/validation_error_detail.py +6 -6
  146. factpulse/models/validation_error_loc_inner.py +2 -2
  147. factpulse/models/validation_error_response.py +87 -0
  148. factpulse/models/validation_info.py +105 -0
  149. factpulse/models/validation_success_response.py +87 -0
  150. factpulse/models/vat_accounting_code.py +39 -0
  151. factpulse/models/vat_amount.py +139 -0
  152. factpulse/models/vat_category.py +44 -0
  153. factpulse/models/vat_line.py +140 -0
  154. factpulse/models/vat_point_date_code.py +38 -0
  155. factpulse/models/vat_rate.py +145 -0
  156. factpulse/models/verification_success_response.py +135 -0
  157. factpulse/models/verified_field_schema.py +129 -0
  158. factpulse/rest.py +2 -2
  159. factpulse-3.0.7.dist-info/METADATA +292 -0
  160. factpulse-3.0.7.dist-info/RECORD +168 -0
  161. factpulse_helpers/__init__.py +34 -34
  162. factpulse_helpers/client.py +1019 -795
  163. factpulse_helpers/exceptions.py +68 -68
  164. factpulse/api/traitement_facture_api.py +0 -3437
  165. factpulse/models/adresse_electronique.py +0 -90
  166. factpulse/models/adresse_postale.py +0 -120
  167. factpulse/models/cadre_de_facturation.py +0 -110
  168. factpulse/models/categorie_tva.py +0 -44
  169. factpulse/models/champ_verifie_schema.py +0 -129
  170. factpulse/models/chorus_pro_credentials.py +0 -95
  171. factpulse/models/code_cadre_facturation.py +0 -39
  172. factpulse/models/code_raison_reduction.py +0 -42
  173. factpulse/models/consulter_facture_request.py +0 -98
  174. factpulse/models/consulter_facture_response.py +0 -142
  175. factpulse/models/consulter_structure_request.py +0 -100
  176. factpulse/models/consulter_structure_response.py +0 -142
  177. factpulse/models/credentials_afnor.py +0 -106
  178. factpulse/models/credentials_chorus_pro.py +0 -115
  179. factpulse/models/destinataire.py +0 -130
  180. factpulse/models/destination_afnor.py +0 -127
  181. factpulse/models/destination_chorus_pro.py +0 -108
  182. factpulse/models/dimension_page_schema.py +0 -89
  183. factpulse/models/direction_flux.py +0 -37
  184. factpulse/models/donnees_facture_simplifiees.py +0 -124
  185. factpulse/models/facture_enrichie_info.py +0 -133
  186. factpulse/models/facture_entrante.py +0 -196
  187. factpulse/models/facture_factur_x.py +0 -183
  188. factpulse/models/flux_resume.py +0 -131
  189. factpulse/models/format_facture.py +0 -38
  190. factpulse/models/format_sortie.py +0 -37
  191. factpulse/models/fournisseur.py +0 -153
  192. factpulse/models/fournisseur_entrant.py +0 -144
  193. factpulse/models/information_signature_api.py +0 -122
  194. factpulse/models/ligne_de_poste.py +0 -183
  195. factpulse/models/ligne_de_poste_montant_remise_ht.py +0 -145
  196. factpulse/models/ligne_de_poste_taux_tva_manuel.py +0 -145
  197. factpulse/models/ligne_de_tva.py +0 -132
  198. factpulse/models/mode_depot.py +0 -38
  199. factpulse/models/mode_paiement.py +0 -41
  200. factpulse/models/montant_a_payer.py +0 -139
  201. factpulse/models/montant_base_ht.py +0 -139
  202. factpulse/models/montant_ht_total.py +0 -139
  203. factpulse/models/montant_remise_globale_ttc.py +0 -139
  204. factpulse/models/montant_total.py +0 -133
  205. factpulse/models/montant_total_acompte.py +0 -145
  206. factpulse/models/montant_total_ligne_ht.py +0 -139
  207. factpulse/models/montant_ttc_total.py +0 -139
  208. factpulse/models/montant_tva.py +0 -139
  209. factpulse/models/montant_tva_ligne.py +0 -139
  210. factpulse/models/montant_tva_total.py +0 -139
  211. factpulse/models/montant_unitaire_ht.py +0 -139
  212. factpulse/models/nature_operation.py +0 -49
  213. factpulse/models/note.py +0 -94
  214. factpulse/models/note_obligatoire_schema.py +0 -124
  215. factpulse/models/obtenir_id_chorus_pro_request.py +0 -100
  216. factpulse/models/obtenir_id_chorus_pro_response.py +0 -98
  217. factpulse/models/options_processing.py +0 -94
  218. factpulse/models/parametres_signature.py +0 -133
  219. factpulse/models/parametres_structure.py +0 -91
  220. factpulse/models/pdf_factur_x_info.py +0 -91
  221. factpulse/models/piece_jointe_complementaire.py +0 -95
  222. factpulse/models/profil_api.py +0 -39
  223. factpulse/models/profil_flux.py +0 -38
  224. factpulse/models/quantite.py +0 -139
  225. factpulse/models/rechercher_services_response.py +0 -101
  226. factpulse/models/rechercher_structure_request.py +0 -119
  227. factpulse/models/rechercher_structure_response.py +0 -101
  228. factpulse/models/references.py +0 -124
  229. factpulse/models/reponse_healthcheck_afnor.py +0 -91
  230. factpulse/models/reponse_recherche_flux.py +0 -101
  231. factpulse/models/reponse_soumission_flux.py +0 -109
  232. factpulse/models/reponse_tache.py +0 -87
  233. factpulse/models/reponse_validation_erreur.py +0 -87
  234. factpulse/models/reponse_validation_succes.py +0 -87
  235. factpulse/models/reponse_verification_succes.py +0 -135
  236. factpulse/models/requete_recherche_flux.py +0 -143
  237. factpulse/models/requete_soumission_flux.py +0 -123
  238. factpulse/models/resultat_afnor.py +0 -105
  239. factpulse/models/resultat_chorus_pro.py +0 -101
  240. factpulse/models/resultat_validation_pdfapi.py +0 -169
  241. factpulse/models/service_structure.py +0 -93
  242. factpulse/models/soumettre_facture_complete_request.py +0 -116
  243. factpulse/models/soumettre_facture_complete_response.py +0 -145
  244. factpulse/models/soumettre_facture_request.py +0 -176
  245. factpulse/models/soumettre_facture_response.py +0 -103
  246. factpulse/models/statut_acquittement.py +0 -38
  247. factpulse/models/statut_celery.py +0 -40
  248. factpulse/models/statut_champ_api.py +0 -40
  249. factpulse/models/statut_facture.py +0 -96
  250. factpulse/models/statut_tache.py +0 -97
  251. factpulse/models/syntaxe_flux.py +0 -40
  252. factpulse/models/tauxmanuel.py +0 -139
  253. factpulse/models/type_document.py +0 -40
  254. factpulse/models/type_facture.py +0 -37
  255. factpulse/models/type_flux.py +0 -40
  256. factpulse/models/type_tva.py +0 -39
  257. factpulse/models/unite.py +0 -41
  258. factpulse-2.0.37.dist-info/METADATA +0 -292
  259. factpulse-2.0.37.dist-info/RECORD +0 -134
  260. {factpulse-2.0.37.dist-info → factpulse-3.0.7.dist-info}/WHEEL +0 -0
  261. {factpulse-2.0.37.dist-info → factpulse-3.0.7.dist-info}/licenses/LICENSE +0 -0
  262. {factpulse-2.0.37.dist-info → factpulse-3.0.7.dist-info}/top_level.txt +0 -0
@@ -1,292 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: factpulse
3
- Version: 2.0.37
4
- Summary: API REST FactPulse
5
- Home-page: https://github.com/factpulse/sdk-python
6
- Author: OpenAPI Generator community
7
- Author-email: OpenAPI Generator Community <team@openapitools.org>
8
- Project-URL: Repository, https://github.com/GIT_USER_ID/GIT_REPO_ID
9
- Keywords: OpenAPI,OpenAPI-Generator,API REST FactPulse
10
- Requires-Python: >=3.9
11
- Description-Content-Type: text/markdown
12
- License-File: LICENSE
13
- Requires-Dist: urllib3<3.0.0,>=2.1.0
14
- Requires-Dist: python-dateutil>=2.8.2
15
- Requires-Dist: pydantic>=2
16
- Requires-Dist: typing-extensions>=4.7.1
17
- Dynamic: author
18
- Dynamic: home-page
19
- Dynamic: license-file
20
-
21
- # FactPulse SDK Python
22
-
23
- Client Python officiel pour l'API FactPulse - Facturation électronique française.
24
-
25
- ## Fonctionnalités
26
-
27
- - **Factur-X** : Génération et validation de factures électroniques (profils MINIMUM, BASIC, EN16931, EXTENDED)
28
- - **Chorus Pro** : Intégration avec la plateforme de facturation publique française
29
- - **AFNOR PDP/PA** : Soumission de flux conformes à la norme XP Z12-013
30
- - **Signature électronique** : Signature PDF (PAdES-B-B, PAdES-B-T, PAdES-B-LT)
31
- - **Client simplifié** : Authentification JWT et polling intégrés via `factpulse_helpers`
32
-
33
- ## Installation
34
-
35
- ```bash
36
- pip install factpulse
37
- ```
38
-
39
- ## Démarrage rapide
40
-
41
- Le module `factpulse_helpers` offre une API simplifiée avec authentification et polling automatiques :
42
-
43
- ```python
44
- from factpulse_helpers import (
45
- FactPulseClient,
46
- montant,
47
- montant_total,
48
- ligne_de_poste,
49
- ligne_de_tva,
50
- fournisseur,
51
- destinataire,
52
- )
53
-
54
- # Créer le client
55
- client = FactPulseClient(
56
- email="votre_email@example.com",
57
- password="votre_mot_de_passe"
58
- )
59
-
60
- # Construire la facture avec les helpers
61
- facture_data = {
62
- "numeroFacture": "FAC-2025-001",
63
- "dateFacture": "2025-01-15",
64
- "fournisseur": fournisseur(
65
- nom="Mon Entreprise SAS",
66
- siret="12345678901234",
67
- adresse_ligne1="123 Rue Example",
68
- code_postal="75001",
69
- ville="Paris",
70
- ),
71
- "destinataire": destinataire(
72
- nom="Client SARL",
73
- siret="98765432109876",
74
- adresse_ligne1="456 Avenue Test",
75
- code_postal="69001",
76
- ville="Lyon",
77
- ),
78
- "montantTotal": montant_total(
79
- ht=1000.00,
80
- tva=200.00,
81
- ttc=1200.00,
82
- a_payer=1200.00,
83
- ),
84
- "lignesDePoste": [
85
- ligne_de_poste(
86
- numero=1,
87
- denomination="Prestation de conseil",
88
- quantite=10,
89
- montant_unitaire_ht=100.00,
90
- montant_total_ligne_ht=1000.00,
91
- )
92
- ],
93
- "lignesDeTva": [
94
- ligne_de_tva(
95
- montant_base_ht=1000.00,
96
- montant_tva=200.00,
97
- taux_manuel="20.00",
98
- )
99
- ],
100
- }
101
-
102
- # Générer le PDF Factur-X
103
- with open("facture_source.pdf", "rb") as f:
104
- pdf_source = f.read()
105
-
106
- pdf_bytes = client.generer_facturx(
107
- facture_data=facture_data,
108
- pdf_source=pdf_source,
109
- profil="EN16931",
110
- sync=True,
111
- )
112
-
113
- with open("facture_facturx.pdf", "wb") as f:
114
- f.write(pdf_bytes)
115
- ```
116
-
117
- ## Helpers disponibles
118
-
119
- ### montant(value)
120
-
121
- Convertit une valeur en string formaté pour les montants monétaires.
122
-
123
- ```python
124
- from factpulse_helpers import montant
125
-
126
- montant(1234.5) # "1234.50"
127
- montant("1234.56") # "1234.56"
128
- montant(None) # "0.00"
129
- ```
130
-
131
- ### montant_total(ht, tva, ttc, a_payer, ...)
132
-
133
- Crée un objet MontantTotal complet.
134
-
135
- ```python
136
- from factpulse_helpers import montant_total
137
-
138
- total = montant_total(
139
- ht=1000.00,
140
- tva=200.00,
141
- ttc=1200.00,
142
- a_payer=1200.00,
143
- remise_ttc=50.00, # Optionnel
144
- motif_remise="Fidélité", # Optionnel
145
- acompte=100.00, # Optionnel
146
- )
147
- ```
148
-
149
- ### ligne_de_poste(numero, denomination, quantite, montant_unitaire_ht, montant_total_ligne_ht, ...)
150
-
151
- Crée une ligne de facturation.
152
-
153
- ```python
154
- from factpulse_helpers import ligne_de_poste
155
-
156
- ligne = ligne_de_poste(
157
- numero=1,
158
- denomination="Prestation de conseil",
159
- quantite=5,
160
- montant_unitaire_ht=200.00,
161
- montant_total_ligne_ht=1000.00, # Requis
162
- taux_tva="TVA20", # Ou taux_tva_manuel="20.00"
163
- categorie_tva="S", # S, Z, E, AE, K
164
- unite="HEURE", # FORFAIT, PIECE, HEURE, JOUR...
165
- reference="REF-001", # Optionnel
166
- )
167
- ```
168
-
169
- ### ligne_de_tva(montant_base_ht, montant_tva, ...)
170
-
171
- Crée une ligne de ventilation TVA.
172
-
173
- ```python
174
- from factpulse_helpers import ligne_de_tva
175
-
176
- tva = ligne_de_tva(
177
- montant_base_ht=1000.00,
178
- montant_tva=200.00,
179
- taux="TVA20", # Ou taux_manuel="20.00"
180
- categorie="S", # S, Z, E, AE, K
181
- )
182
- ```
183
-
184
- ### adresse_postale(ligne1, code_postal, ville, ...)
185
-
186
- Crée une adresse postale structurée.
187
-
188
- ```python
189
- from factpulse_helpers import adresse_postale
190
-
191
- adresse = adresse_postale(
192
- ligne1="123 Rue de la République",
193
- code_postal="75001",
194
- ville="Paris",
195
- pays="FR", # Défaut: "FR"
196
- ligne2="Bâtiment A", # Optionnel
197
- )
198
- ```
199
-
200
- ### adresse_electronique(identifiant, scheme_id)
201
-
202
- Crée une adresse électronique (identifiant numérique).
203
-
204
- ```python
205
- from factpulse_helpers import adresse_electronique
206
-
207
- # SIRET (scheme_id="0225")
208
- adresse = adresse_electronique("12345678901234", "0225")
209
-
210
- # SIREN (scheme_id="0009")
211
- adresse = adresse_electronique("123456789", "0009")
212
- ```
213
-
214
- ### fournisseur(nom, siret, adresse_ligne1, code_postal, ville, ...)
215
-
216
- Crée un fournisseur complet avec calcul automatique du SIREN et TVA intra.
217
-
218
- ```python
219
- from factpulse_helpers import fournisseur
220
-
221
- f = fournisseur(
222
- nom="Ma Société SAS",
223
- siret="12345678901234",
224
- adresse_ligne1="123 Rue Example",
225
- code_postal="75001",
226
- ville="Paris",
227
- iban="FR7630006000011234567890189", # Optionnel
228
- )
229
- # SIREN et TVA intracommunautaire calculés automatiquement
230
- ```
231
-
232
- ### destinataire(nom, siret, adresse_ligne1, code_postal, ville, ...)
233
-
234
- Crée un destinataire (client) avec calcul automatique du SIREN.
235
-
236
- ```python
237
- from factpulse_helpers import destinataire
238
-
239
- d = destinataire(
240
- nom="Client SARL",
241
- siret="98765432109876",
242
- adresse_ligne1="456 Avenue Test",
243
- code_postal="69001",
244
- ville="Lyon",
245
- )
246
- ```
247
-
248
- ## Mode Zero-Trust (Chorus Pro / AFNOR)
249
-
250
- Pour passer vos propres credentials sans stockage côté serveur :
251
-
252
- ```python
253
- from factpulse_helpers import (
254
- FactPulseClient,
255
- ChorusProCredentials,
256
- AFNORCredentials,
257
- )
258
-
259
- # Chorus Pro
260
- chorus_creds = ChorusProCredentials(
261
- piste_client_id="votre_client_id",
262
- piste_client_secret="votre_client_secret",
263
- chorus_pro_login="votre_login",
264
- chorus_pro_password="votre_password",
265
- sandbox=True,
266
- )
267
-
268
- # AFNOR PDP
269
- afnor_creds = AFNORCredentials(
270
- flow_service_url="https://api.pdp.fr/flow/v1",
271
- token_url="https://auth.pdp.fr/oauth/token",
272
- client_id="votre_client_id",
273
- client_secret="votre_client_secret",
274
- )
275
-
276
- client = FactPulseClient(
277
- email="votre_email@example.com",
278
- password="votre_mot_de_passe",
279
- chorus_credentials=chorus_creds,
280
- afnor_credentials=afnor_creds,
281
- )
282
- ```
283
-
284
- ## Ressources
285
-
286
- - **Documentation API** : https://factpulse.fr/api/facturation/documentation
287
- - **Exemple complet** : Voir `exemple_complet_python.py` dans ce package
288
- - **Support** : contact@factpulse.fr
289
-
290
- ## Licence
291
-
292
- MIT License - Copyright (c) 2025 FactPulse
@@ -1,134 +0,0 @@
1
- factpulse/__init__.py,sha256=b-FWZLv1Cvo4UfpDlk_yaLe4L_c66SqMFK7iAc-zL_8,19427
2
- factpulse/api_client.py,sha256=UxDzQh6AAgvykUkKtczmEiat99Evtz7Xd5QHG2hOl8k,32771
3
- factpulse/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
4
- factpulse/configuration.py,sha256=iqYo18_7rhgPyos5PWIpPHsOO9wpCSalH_PJ8qZPjBg,23502
5
- factpulse/exceptions.py,sha256=0bSMLMpqqe39fwik6qGJQHrhCkdjlNyQczPVttGdgFw,11549
6
- factpulse/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- factpulse/rest.py,sha256=SnUu0ciJ9kTQnfUFqMEOgmHYt72AzAwyWmcVkMc7I0I,14661
8
- factpulse/api/__init__.py,sha256=d9mv46Oc1OTHl7IeSf_mHZAs4rhhHcZGExDQrP6Luzo,565
9
- factpulse/api/afnorpdppa_api.py,sha256=JHdD7UMh_wv1hGH9q3NZeSUuutZGocJvuvJDS0B3uDo,38253
10
- factpulse/api/afnorpdppa_directory_service_api.py,sha256=k3elxRoRlPrFWxKE7grn5MxKG8WuEDR_R11lJB5v5Qg,204981
11
- factpulse/api/afnorpdppa_flow_service_api.py,sha256=uG5V7fUt27if7jOGd67UUKZmxNCmdXXaVh88WxK3Ma4,46470
12
- factpulse/api/chorus_pro_api.py,sha256=gAI2ShJmYYnMktXDup7A2ErQ_6QBIFg67zW2Chfo3ZY,208966
13
- factpulse/api/sant_api.py,sha256=sWp1SEdcOu0Dy5BYNQs-13gMg5uWqwFFdj6LZr05XaQ,25634
14
- factpulse/api/traitement_facture_api.py,sha256=d9KqmkMLIGZlp_0hg-TFrJWhB0uYyhOoUmIG0H7Yrf0,226110
15
- factpulse/api/utilisateur_api.py,sha256=DIIHDh-0Qt-jpA3bh0DS5rzNtn_BtreAe61psvrSTbg,16316
16
- factpulse/api/vrification_pdfxml_api.py,sha256=7UdC54xh3dpuQL2NyMkIlttxpUf7DYOD3GF8__SFSDM,91822
17
- factpulse/models/__init__.py,sha256=nr3Imce1WVTMPrcSeZnGfHI4c6XGmqT8NnyR9RhzPGM,12643
18
- factpulse/models/adresse_electronique.py,sha256=pphiUugyPYuXJBUQMSBKPYW1NUMU-BqxtJmOEfFcGcg,7921
19
- factpulse/models/adresse_postale.py,sha256=kC6JpnadEBrYzWDHEstehxxRd9lxI-3_CKIfJf489YU,9252
20
- factpulse/models/api_error.py,sha256=2nASAs1818k8dDlWh6DlwAyeT3Ra8t3wQHu2NCs28CI,8733
21
- factpulse/models/bounding_box_schema.py,sha256=6TVte8rqm8DyL7zkFMnnjc-Ds6IrxICpLPdbRI__Rh8,8601
22
- factpulse/models/cadre_de_facturation.py,sha256=537fq5r1f2-poqoChXLMhCmv3KnyyWNouVuiFCbfOZY,9682
23
- factpulse/models/categorie_tva.py,sha256=IBgtV7j2vB93PcZI-XhPu9eKhedHdqqclXn60yNUs34,6367
24
- factpulse/models/certificate_info_response.py,sha256=mZjU6I57KedCN086XCBIvfp6H4MjXWMyvbYYsG-LLFo,9164
25
- factpulse/models/champ_verifie_schema.py,sha256=rrrOZ2iiKt2hV-S7V6wobloXQKz4VZS9TjfED8tdCQA,10073
26
- factpulse/models/chorus_pro_credentials.py,sha256=2NMazzMO6tQB_XpWHUQUBPt4tiW24pRvxWop0J1HucI,8884
27
- factpulse/models/code_cadre_facturation.py,sha256=AtevyXn8DL6ipG_-eJ19SYIGRAqpVUhy5qa3unKysl4,6018
28
- factpulse/models/code_raison_reduction.py,sha256=YI2VmqIDh5iB_1XO7MrPITN7QNX2_dX6IzQ2RIoB4RI,6367
29
- factpulse/models/consulter_facture_request.py,sha256=v9RFMm_dcPJod4KmQCqlUqPKs4zm7qOnj_Ujs8_S96w,8340
30
- factpulse/models/consulter_facture_response.py,sha256=xFxnx8PoxcSgDigXMbm7S0CtRaCZAsczSx9R0l5wq1M,10862
31
- factpulse/models/consulter_structure_request.py,sha256=DP2TRsdfYtLoM2XdS27nrGNnsCnJnw_gRgcpIXVOouc,8557
32
- factpulse/models/consulter_structure_response.py,sha256=Qcs8ZshvmLwkivhvt4pmfqCe6eyOvYnSksJCcWJFjNw,10634
33
- factpulse/models/credentials_afnor.py,sha256=5ecIhgOePmnDmxYlIbgvmqX724pZvH475aKzjVfJL6I,8847
34
- factpulse/models/credentials_chorus_pro.py,sha256=XF5j893pjAetSG2Yq_6M3QV9WHoRBb7PWX_KQXjJCf8,9536
35
- factpulse/models/destinataire.py,sha256=pC2G1F8nJ_a63tFk9n6Ye-tOCPQqKREri25KC1O7Nlg,10067
36
- factpulse/models/destination.py,sha256=JI8TbW8WBtwDc3Vn9OwRPkSPgbADHwG1A3peXNtYCNA,10532
37
- factpulse/models/destination_afnor.py,sha256=_ex6LJlJApc4pYpb3uP-vwzGonNdanccNifb15K9K64,9472
38
- factpulse/models/destination_chorus_pro.py,sha256=xXI3B6FowqPBidUFJMZsVQZimLrZLcv78wyYIUI2mNU,8618
39
- factpulse/models/dimension_page_schema.py,sha256=nwrYSgixoDz1N3qsjJHgwnlgMC4XrhxpzDyX8GUmSBE,7744
40
- factpulse/models/direction_flux.py,sha256=VfU6nUNYOCgoFKtx6hHtTTLxlYIOGsc12gnDBoCzUK8,5753
41
- factpulse/models/donnees_facture_simplifiees.py,sha256=ArZEBNDxgPhLD-5MtS8Lz3wi72Iw2llMKYztuPzdkVI,9871
42
- factpulse/models/error_level.py,sha256=mDYwioSCHjLMfh4KGLBkAXPT_ssN7hgB7d1FtP0gw-A,5754
43
- factpulse/models/error_source.py,sha256=mcwjgiJQ31YoPP4jQx8vW5yY-h253wUpEX6Sr4z298g,5903
44
- factpulse/models/facture_enrichie_info.py,sha256=PN4bBDSUVIlxYefrvXQRq7fimDoVvHrRGxmvQtCRXhs,9990
45
- factpulse/models/facture_entrante.py,sha256=M3Ult_ala4rHGU603tp8VyNq6fAHWFnyb8vI9yLNnBA,14370
46
- factpulse/models/facture_factur_x.py,sha256=EEc0rbGeY7EWaZqVWPIqO701D4KVW368TDDWA_TJlKo,14210
47
- factpulse/models/flux_resume.py,sha256=_sBAp3RXdAHav_52Nx4u0HrYBMyjCFVMZ853Itk9XsQ,9677
48
- factpulse/models/format_facture.py,sha256=iUlpHn9Vs0-ACu1vr9W_cOu8fYnhsWbiMBOToMaUn9w,5818
49
- factpulse/models/format_sortie.py,sha256=Cvd64DRl1SntFGEBVDSYunOo9KwJWoTaHXsgHMdq_mA,5748
50
- factpulse/models/fournisseur.py,sha256=M0w4pOSPAloTiaR3wP0RTSN_ayp4-i-56qX8UoZeruU,11492
51
- factpulse/models/fournisseur_entrant.py,sha256=DtE62XjV1XChlM61pRHoqDLHWZSKlQoFtiNtLtJwozg,10827
52
- factpulse/models/generate_certificate_request.py,sha256=lE2bd5FUHQ5SA4GeyX3N6TRMtyqW17RuU_Gl6UBIllY,10416
53
- factpulse/models/generate_certificate_response.py,sha256=ZQQ1ed7SuV-J1RNU34U-4IYwF_Ck6ByvJYv2_yGzsPk,9448
54
- factpulse/models/http_validation_error.py,sha256=6LKZOKsITod_3shkCEUHZxwS6OblbkvS4AsrAXRCj0k,8010
55
- factpulse/models/information_signature_api.py,sha256=Ec4ylGt4CfA87O6_MNsfHiqFovxJtHRLbomLZHo6Lbg,9325
56
- factpulse/models/ligne_de_poste.py,sha256=UeZ3f_oMPrebLHQIpS82yKlBYHUIdN99v_AJzprZDbc,13686
57
- factpulse/models/ligne_de_poste_montant_remise_ht.py,sha256=wV7B-wnv2YSC9Lute5hFJ0x8xH2xZqcwbkyTymuXYGA,10218
58
- factpulse/models/ligne_de_poste_taux_tva_manuel.py,sha256=QmsuUCqPV9ZgvYWQNMfNwkmqCP7hrPNPpgd8vGGwUfA,10217
59
- factpulse/models/ligne_de_tva.py,sha256=ZARZX0yuF7awQiQrRtcR-IV5EOARxuAfpPjLY0qSY2w,10372
60
- factpulse/models/mode_depot.py,sha256=lY7ea0uteVEvQT5R59695KUI8NAt53S0O419yU7sa44,5857
61
- factpulse/models/mode_paiement.py,sha256=NyOkiTwoO4s65lgaHumXZjbEYxTw7MggAgQZ99lJnDI,5876
62
- factpulse/models/montant_a_payer.py,sha256=qG23CTYoDyycketAZ5QX_78kbOAiFxyvXj1an90TD08,10039
63
- factpulse/models/montant_base_ht.py,sha256=kogfoZba1ZcplEtq_5x4qm06Upz5wsfb4sYfUNVD6u4,10068
64
- factpulse/models/montant_ht_total.py,sha256=YvlLjbYKkhVHe3dmJPSMzM6hOKctB28tuNZPuHnCRFM,10044
65
- factpulse/models/montant_remise_globale_ttc.py,sha256=Bz9iLvuOC8ULr0cz0Sv1VJjP4OgL7uxHdzrcr2R0kSM,10105
66
- factpulse/models/montant_total.py,sha256=HSKa4xR2JxHHHQbYjetn9BKhJHjcSVa0Ml54Pm1h8h0,11060
67
- factpulse/models/montant_total_acompte.py,sha256=jJGAiN-59eMUuoY5UkafBXcJNRTj-vJhPR9Z9RY7oJo,10169
68
- factpulse/models/montant_total_ligne_ht.py,sha256=0extCgyRDB46lQq0PjYaGRH82a26DEQu5e2soBAcVJ4,10119
69
- factpulse/models/montant_ttc_total.py,sha256=Ac44jGLY9osaF6cQeT96WM9DGRr3zcu13jqoWGMBeFc,10050
70
- factpulse/models/montant_tva.py,sha256=NuF7VvESuelLvr9PrYBY70b8aXrbkpmly9ltRksGEP4,9942
71
- factpulse/models/montant_tva_ligne.py,sha256=Dp3ESFYPIam4vnS5cXsgh2-gJxQxFzdsYd3rS2YWLSo,10067
72
- factpulse/models/montant_tva_total.py,sha256=eEoqGD6p-GnjqNwtTlsxCQbKUzRM8vEz-j3MIyWJGxU,10056
73
- factpulse/models/montant_unitaire_ht.py,sha256=Lm1GFH8BlEJzk7aup0E1NSdlW7xrM2e4rTqfiRRihbA,10007
74
- factpulse/models/nature_operation.py,sha256=nZmEhlhh7fAlDzKgHGO8FThr9udOMN7Xf7uAwg4lYwM,6363
75
- factpulse/models/note.py,sha256=OOE5ldPBju71z9-VQtqndh35yifCnuSzodeRQG3uZxg,8044
76
- factpulse/models/note_obligatoire_schema.py,sha256=zPosu7ptz7IkdNxRc4kNPLNLAzBc2bJKTLf_UCU-l0Q,9562
77
- factpulse/models/obtenir_id_chorus_pro_request.py,sha256=W8DVvkBpGM3UWNSwFL19g8IXsR8DEZtLlFtGxR4MJdU,8575
78
- factpulse/models/obtenir_id_chorus_pro_response.py,sha256=wToneMFFvpJy3iyjxpKUngmKxq0Kn1aeqn5YtgEKw1g,8373
79
- factpulse/models/options_processing.py,sha256=M7d6-mFJJK1udO8akNhvGV9VrZDhW9zL2_QDNasvQu8,8565
80
- factpulse/models/parametres_signature.py,sha256=mB6QbqaLZEgOZPB3KqdVl2eDjPOw3VrFomv7dvc6q_4,10761
81
- factpulse/models/parametres_structure.py,sha256=rGoxqhg_sV3l0flHBrh--tEInU_XKkoPcDI2iWCta5c,8464
82
- factpulse/models/pdf_factur_x_info.py,sha256=JesvTfSi68klJk9nEIr3sjmNDG_JZslmiaqKFPqMk1k,7918
83
- factpulse/models/pdp_credentials.py,sha256=EGTqtvPJP4jgH-aM2c4BgGKCFU-my-hzcABwnlzRbr8,8710
84
- factpulse/models/piece_jointe_complementaire.py,sha256=uqwhX4qbZAZpS6SHoid0aVPBsguV_xDcbuu5YTvNnH0,7988
85
- factpulse/models/profil_api.py,sha256=4QCmG1hIOhm72DsVuyW87-s3dvhu1sm5vQzWPp5gKzM,5801
86
- factpulse/models/profil_flux.py,sha256=PnzSnW0KMW2IoivpiyGQoY8TNtuQ0a_hVnf9Kq0-FEg,5816
87
- factpulse/models/quantite.py,sha256=4aDJsBt3Lo9SWX77xZUnaO-qAvY3WrkBPx1Ipiq00L8,9958
88
- factpulse/models/rechercher_services_response.py,sha256=CtjYptPBOgYEBILjw_thIwY6hpdn6hRDn_r4P1MvK-o,8517
89
- factpulse/models/rechercher_structure_request.py,sha256=HXGmq8K16uNEhFFRDBUxBkks1Id_EIF2UUpqNJp268k,9842
90
- factpulse/models/rechercher_structure_response.py,sha256=_aH4PQ8v_upvX8QdecAwrG-GzbfP-MoH3X07oxHir24,8631
91
- factpulse/models/references.py,sha256=Jj6jcSMycmeLeHMvH87YBY39YNjHwd4F3A6Ypa7sEv0,9937
92
- factpulse/models/reponse_healthcheck_afnor.py,sha256=xbOIZ8cC3ZOSaMIwAc57iDAGGbvm9OJL0C5G5U5lty8,7965
93
- factpulse/models/reponse_recherche_flux.py,sha256=UqL-0L4i2iXpC04y4m48UQ72kodVlbhF7CH-weTnBbc,8428
94
- factpulse/models/reponse_soumission_flux.py,sha256=HtFA9j01lVgXPhLxAXIyr2a3IkwLTyG-D7xbkqPyPHc,8799
95
- factpulse/models/reponse_tache.py,sha256=ZHOSHh2sg5mhlej9q6RX2mJVcv-XNKklY8CT90Gm41s,7544
96
- factpulse/models/reponse_validation_erreur.py,sha256=0sPudYWOLm5uoA9OzKQpZ90wnD1N2YmsrX-npQho-XY,7608
97
- factpulse/models/reponse_validation_succes.py,sha256=JuqenpbUFKEQ_GuGWXL0fzahyk5-yr1fj2RucOCuq7c,7603
98
- factpulse/models/reponse_verification_succes.py,sha256=mWmQs6m4y3C8DIM-82kkp8WnYjanyxkzTWWuB2GDfEs,11603
99
- factpulse/models/requete_recherche_flux.py,sha256=cgAjthD3iC5f_e5FNPc2WDcnvBku2wXto3MgILYjpho,10641
100
- factpulse/models/requete_soumission_flux.py,sha256=J_ncq9v7piBBjbpJ8Oy94OMaeH8nQ_BSwxvK2G5foqQ,9639
101
- factpulse/models/resultat_afnor.py,sha256=7fjd4sPBX-N-tGwLph_4kREsVAl_2REx5DRoTLCZ4z8,8526
102
- factpulse/models/resultat_chorus_pro.py,sha256=wMW4FHgRZ4YHiZUHV_xyyC1cG-2DR_i-U0wZ1JWBEBI,8436
103
- factpulse/models/resultat_validation_pdfapi.py,sha256=o6o7S6PTK-gYeEJBBgY7P32lEsUqI0Un-LE6ca3uAOs,13558
104
- factpulse/models/scheme_id.py,sha256=m2w_zmAiGQdKvEsP6KhoiavNsLxQEcfr5zP0Saz2W2g,6268
105
- factpulse/models/service_structure.py,sha256=RIbMM_nE48bq4koLaj32E_Y5BewZkRyanXEh6hraaeM,8001
106
- factpulse/models/signature_info.py,sha256=_d94wVSYXR1k_t3Ien0Vlf3SwjlOnT_CWiYzudFo7GI,8183
107
- factpulse/models/soumettre_facture_complete_request.py,sha256=TFmVnqXfubvtZjamaQ-Xtc-Q3H1MLBMxw4uoCXfFE_I,9925
108
- factpulse/models/soumettre_facture_complete_response.py,sha256=5rISAwPqkzgaBxTP6GRV8q3XRxwxMgMZpxZgty381ig,11454
109
- factpulse/models/soumettre_facture_request.py,sha256=Y_1EcxKlhuqiBngQj49Q1DyxdbkmIF_v1qCdQtkZaZU,13211
110
- factpulse/models/soumettre_facture_response.py,sha256=vQMwIqOn-5n0dKYPVZeGyFmLUjr93wjygvbektsaxjw,8578
111
- factpulse/models/statut_acquittement.py,sha256=Cq3h30QD4Byi0yPlA3WKSPIMKYpJ3PpgxxPGxEe7WUU,5803
112
- factpulse/models/statut_celery.py,sha256=MNgqAZKMItqCu_x1-N2Hd_C65Kq3JGJAP45Az4lsY1U,6249
113
- factpulse/models/statut_champ_api.py,sha256=6wDPjAdn1ZeYVjN1zAM8_DDUma71dQA_iIGC1ZS0Ayc,5879
114
- factpulse/models/statut_facture.py,sha256=gzsCUeAdWMM3LehncqTHOINTbczwlE9y5rdHo8O31Mc,8068
115
- factpulse/models/statut_tache.py,sha256=MyRCmyMOxBEYFpKVipKuCTcNky0A1gF-oO52FVYLEkg,8259
116
- factpulse/models/structure_info.py,sha256=BkMNW1G5GPKP387wbnwIwgxLe74LCm6YYowZNFPlz_c,8290
117
- factpulse/models/syntaxe_flux.py,sha256=eOhAeAWBpowiv9yiGptZIVubah84gJQXyYoc6JxKacc,5838
118
- factpulse/models/tauxmanuel.py,sha256=nzHXNnfeMETx_onZZ8jqINkkLMXOt7e1ZzU8zt8FqbQ,10040
119
- factpulse/models/type_document.py,sha256=sBXmmgTJhDKVjP66FLlc7Dn-VWw5lWMKjJM_uTHPDKI,5854
120
- factpulse/models/type_facture.py,sha256=-kkw_aZPJeJogPNSlNEcTWvgCFEnl2_t9BvpZRnqSHA,5782
121
- factpulse/models/type_flux.py,sha256=fGxtbQHDNzGbuvaKeXNwn_lKfbKFcKj-ISyclY2-6wY,5922
122
- factpulse/models/type_tva.py,sha256=kPIMmtNGX7IHFGtrC26GB5g1Rk3XvAFXhbD5d3zOPyo,5853
123
- factpulse/models/unite.py,sha256=uMHlmkfdbqFi_BEOLoPXrReMUWU758FteZpi4ANbJb0,5861
124
- factpulse/models/validation_error.py,sha256=guq3Jf8nihVG3GwdB48UmLvAoIaeKTg6RCCl62HmV5c,8102
125
- factpulse/models/validation_error_detail.py,sha256=p3H2VCc2-BgDhQfqEjAAbYWSUsWRuwa36omEku4C-so,8751
126
- factpulse/models/validation_error_loc_inner.py,sha256=XCQaQMpuAERDwf1Zu_IWtD9n18aPrfTniKkzPCzWkfY,9896
127
- factpulse-2.0.37.dist-info/licenses/LICENSE,sha256=TOREZ0FjfXTO1zqJjqfiuyBoj79tmdfVAJuWN_KV-i8,1066
128
- factpulse_helpers/__init__.py,sha256=Wl8KjCOccoo0O_LiVg4wHNP2skslyPxU3P7hgJQTFPo,2614
129
- factpulse_helpers/client.py,sha256=1CUqmqrJor9uMsfkbTwCh-6dh5yuQgeeDwxj8CdwfhM,73633
130
- factpulse_helpers/exceptions.py,sha256=4Svz1bMC5Mio4zj5KLKd6fyPINqgZFoqwFAsiJOJ8ao,9334
131
- factpulse-2.0.37.dist-info/METADATA,sha256=QDzchxVrp-06QKo6Ns2euRKML5Vcj5WjQG-nxJICfS8,7260
132
- factpulse-2.0.37.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
133
- factpulse-2.0.37.dist-info/top_level.txt,sha256=gG17jwZIkNxBJeHxdyLCU6kkoGMr2Ir2metnQ7eT2xY,28
134
- factpulse-2.0.37.dist-info/RECORD,,