factpulse 3.0.5 → 3.0.7
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -3
- data/Gemfile.lock +1 -1
- data/docs/AdditionalDocument.md +26 -0
- data/docs/AllowanceCharge.md +32 -0
- data/docs/AllowanceTotalAmount.md +15 -0
- data/docs/{APIProfile.md → Amount.md} +2 -2
- data/docs/{DocumentType.md → BaseAmount.md} +2 -2
- data/docs/ChargeTotalAmount.md +15 -0
- data/docs/Contact.md +24 -0
- data/docs/ConvertErrorResponse.md +26 -0
- data/docs/ConvertPendingInputResponse.md +32 -0
- data/docs/ConvertResumeRequest.md +18 -0
- data/docs/ConvertSuccessResponse.md +36 -0
- data/docs/ConvertValidationFailedResponse.md +34 -0
- data/docs/DeliveryParty.md +24 -0
- data/docs/DocumentConversionApi.md +373 -0
- data/docs/DocumentTypeInfo.md +22 -0
- data/docs/ExtractionInfo.md +24 -0
- data/docs/FacturXInvoice.md +29 -1
- data/docs/FacturXProfile.md +15 -0
- data/docs/FileInfo.md +20 -0
- data/docs/FilesInfo.md +20 -0
- data/docs/GrossUnitPrice.md +15 -0
- data/docs/IncomingInvoice.md +1 -1
- data/docs/InvoiceLine.md +43 -9
- data/docs/InvoiceProcessingApi.md +8 -8
- data/docs/InvoiceReferences.md +26 -6
- data/docs/InvoiceTotals.md +10 -2
- data/docs/LineTotalAmount.md +15 -0
- data/docs/MissingField.md +28 -0
- data/docs/Payee.md +5 -1
- data/docs/PaymentCard.md +20 -0
- data/docs/Percentage.md +15 -0
- data/docs/PostalAddress.md +5 -1
- data/docs/PriceAllowanceAmount.md +15 -0
- data/docs/PriceBasisQuantity.md +15 -0
- data/docs/ProcessingOptions.md +3 -3
- data/docs/ProductCharacteristic.md +20 -0
- data/docs/ProductClassification.md +22 -0
- data/docs/Recipient.md +7 -1
- data/docs/RoundingAmount.md +15 -0
- data/docs/Supplier.md +17 -1
- data/docs/TaxRepresentative.md +22 -0
- data/docs/VATLine.md +2 -0
- data/docs/VATPointDateCode.md +15 -0
- data/docs/ValidationInfo.md +28 -0
- data/docs/VatRate.md +15 -0
- data/factpulse.gemspec +1 -1
- data/lib/factpulse/api/afnorpdppa_api.rb +1 -1
- data/lib/factpulse/api/afnorpdppa_directory_service_api.rb +1 -1
- data/lib/factpulse/api/afnorpdppa_flow_service_api.rb +1 -1
- data/lib/factpulse/api/chorus_pro_api.rb +1 -1
- data/lib/factpulse/api/document_conversion_api.rb +378 -0
- data/lib/factpulse/api/health_api.rb +1 -1
- data/lib/factpulse/api/invoice_processing_api.rb +9 -9
- data/lib/factpulse/api/pdfxml_verification_api.rb +1 -1
- data/lib/factpulse/api/user_api.rb +1 -1
- data/lib/factpulse/api_client.rb +1 -1
- data/lib/factpulse/api_error.rb +1 -1
- data/lib/factpulse/api_model_base.rb +1 -1
- data/lib/factpulse/configuration.rb +1 -1
- data/lib/factpulse/models/acknowledgment_status.rb +1 -1
- data/lib/factpulse/models/additional_document.rb +206 -0
- data/lib/factpulse/models/afnor_credentials.rb +1 -1
- data/lib/factpulse/models/afnor_destination.rb +1 -1
- data/lib/factpulse/models/afnor_health_check_response.rb +1 -1
- data/lib/factpulse/models/afnor_result.rb +1 -1
- data/lib/factpulse/models/allowance_charge.rb +252 -0
- data/lib/factpulse/models/allowance_reason_code.rb +1 -1
- data/lib/factpulse/models/allowance_total_amount.rb +104 -0
- data/lib/factpulse/models/amount.rb +104 -0
- data/lib/factpulse/models/amount_due.rb +2 -2
- data/lib/factpulse/models/api_error.rb +1 -1
- data/lib/factpulse/models/async_task_status.rb +1 -1
- data/lib/factpulse/models/base_amount.rb +104 -0
- data/lib/factpulse/models/bounding_box_schema.rb +1 -1
- data/lib/factpulse/models/celery_status.rb +1 -1
- data/lib/factpulse/models/certificate_info_response.rb +1 -1
- data/lib/factpulse/models/charge_total_amount.rb +104 -0
- data/lib/factpulse/models/chorus_pro_destination.rb +1 -1
- data/lib/factpulse/models/chorus_pro_result.rb +1 -1
- data/lib/factpulse/models/contact.rb +179 -0
- data/lib/factpulse/models/convert_error_response.rb +224 -0
- data/lib/factpulse/models/convert_pending_input_response.rb +322 -0
- data/lib/factpulse/models/convert_resume_request.rb +151 -0
- data/lib/factpulse/models/convert_success_response.rb +360 -0
- data/lib/factpulse/models/convert_validation_failed_response.rb +334 -0
- data/lib/factpulse/models/delivery_party.rb +179 -0
- data/lib/factpulse/models/destination.rb +1 -1
- data/lib/factpulse/models/document_type_info.rb +220 -0
- data/lib/factpulse/models/electronic_address.rb +1 -1
- data/lib/factpulse/models/enriched_invoice_info.rb +1 -1
- data/lib/factpulse/models/error_level.rb +1 -1
- data/lib/factpulse/models/error_source.rb +1 -1
- data/lib/factpulse/models/extraction_info.rb +217 -0
- data/lib/factpulse/models/factur_x_invoice.rb +150 -6
- data/lib/factpulse/models/{api_profile.rb → factur_x_profile.rb} +4 -4
- data/lib/factpulse/models/factur_xpdf_info.rb +1 -1
- data/lib/factpulse/models/facture_electronique_rest_api_schemas_chorus_pro_chorus_pro_credentials.rb +5 -5
- data/lib/factpulse/models/facture_electronique_rest_api_schemas_processing_chorus_pro_credentials.rb +1 -1
- data/lib/factpulse/models/field_status.rb +1 -1
- data/lib/factpulse/models/file_info.rb +161 -0
- data/lib/factpulse/models/files_info.rb +159 -0
- data/lib/factpulse/models/flow_direction.rb +1 -1
- data/lib/factpulse/models/flow_profile.rb +1 -1
- data/lib/factpulse/models/flow_summary.rb +1 -1
- data/lib/factpulse/models/flow_syntax.rb +1 -1
- data/lib/factpulse/models/flow_type.rb +1 -1
- data/lib/factpulse/models/generate_certificate_request.rb +6 -6
- data/lib/factpulse/models/generate_certificate_response.rb +1 -1
- data/lib/factpulse/models/get_chorus_pro_id_request.rb +2 -2
- data/lib/factpulse/models/get_chorus_pro_id_response.rb +1 -1
- data/lib/factpulse/models/get_invoice_request.rb +2 -2
- data/lib/factpulse/models/get_invoice_response.rb +1 -1
- data/lib/factpulse/models/get_structure_request.rb +3 -3
- data/lib/factpulse/models/get_structure_response.rb +1 -1
- data/lib/factpulse/models/global_allowance_amount.rb +2 -2
- data/lib/factpulse/models/gross_unit_price.rb +104 -0
- data/lib/factpulse/models/http_validation_error.rb +1 -1
- data/lib/factpulse/models/incoming_invoice.rb +2 -2
- data/lib/factpulse/models/incoming_supplier.rb +1 -1
- data/lib/factpulse/models/invoice_format.rb +1 -1
- data/lib/factpulse/models/invoice_line.rb +209 -25
- data/lib/factpulse/models/invoice_line_allowance_amount.rb +2 -2
- data/lib/factpulse/models/invoice_note.rb +1 -1
- data/lib/factpulse/models/invoice_references.rb +119 -16
- data/lib/factpulse/models/invoice_status.rb +1 -1
- data/lib/factpulse/models/invoice_totals.rb +52 -12
- data/lib/factpulse/models/invoice_totals_prepayment.rb +2 -2
- data/lib/factpulse/models/invoice_type_code.rb +1 -1
- data/lib/factpulse/models/invoicing_framework.rb +1 -1
- data/lib/factpulse/models/invoicing_framework_code.rb +1 -1
- data/lib/factpulse/models/line_net_amount.rb +2 -2
- data/lib/factpulse/models/line_total_amount.rb +104 -0
- data/lib/factpulse/models/mandatory_note_schema.rb +1 -1
- data/lib/factpulse/models/manual_rate.rb +2 -2
- data/lib/factpulse/models/manual_vat_rate.rb +2 -2
- data/lib/factpulse/models/missing_field.rb +269 -0
- data/lib/factpulse/models/operation_nature.rb +1 -1
- data/lib/factpulse/models/output_format.rb +1 -1
- data/lib/factpulse/models/page_dimensions_schema.rb +1 -1
- data/lib/factpulse/models/payee.rb +28 -6
- data/lib/factpulse/models/payment_card.rb +159 -0
- data/lib/factpulse/models/payment_means.rb +1 -1
- data/lib/factpulse/models/pdf_validation_result_api.rb +1 -1
- data/lib/factpulse/models/pdp_credentials.rb +6 -6
- data/lib/factpulse/models/percentage.rb +104 -0
- data/lib/factpulse/models/postal_address.rb +27 -7
- data/lib/factpulse/models/price_allowance_amount.rb +104 -0
- data/lib/factpulse/models/price_basis_quantity.rb +104 -0
- data/lib/factpulse/models/processing_options.rb +10 -10
- data/lib/factpulse/models/product_characteristic.rb +193 -0
- data/lib/factpulse/models/product_classification.rb +186 -0
- data/lib/factpulse/models/quantity.rb +2 -2
- data/lib/factpulse/models/recipient.rb +39 -7
- data/lib/factpulse/models/rounding_amount.rb +104 -0
- data/lib/factpulse/models/scheme_id.rb +9 -3
- data/lib/factpulse/models/search_flow_request.rb +8 -8
- data/lib/factpulse/models/search_flow_response.rb +1 -1
- data/lib/factpulse/models/search_services_response.rb +1 -1
- data/lib/factpulse/models/search_structure_request.rb +5 -5
- data/lib/factpulse/models/search_structure_response.rb +1 -1
- data/lib/factpulse/models/signature_info.rb +1 -1
- data/lib/factpulse/models/signature_info_api.rb +1 -1
- data/lib/factpulse/models/signature_parameters.rb +1 -1
- data/lib/factpulse/models/simplified_invoice_data.rb +1 -1
- data/lib/factpulse/models/structure_info.rb +1 -1
- data/lib/factpulse/models/structure_parameters.rb +1 -1
- data/lib/factpulse/models/structure_service.rb +1 -1
- data/lib/factpulse/models/submission_mode.rb +1 -1
- data/lib/factpulse/models/submit_complete_invoice_request.rb +1 -1
- data/lib/factpulse/models/submit_complete_invoice_response.rb +1 -1
- data/lib/factpulse/models/submit_flow_request.rb +7 -7
- data/lib/factpulse/models/submit_flow_response.rb +1 -1
- data/lib/factpulse/models/submit_gross_amount.rb +1 -1
- data/lib/factpulse/models/submit_invoice_request.rb +14 -14
- data/lib/factpulse/models/submit_invoice_response.rb +1 -1
- data/lib/factpulse/models/submit_net_amount.rb +1 -1
- data/lib/factpulse/models/submit_vat_amount.rb +1 -1
- data/lib/factpulse/models/supplementary_attachment.rb +1 -1
- data/lib/factpulse/models/supplier.rb +89 -7
- data/lib/factpulse/models/task_response.rb +1 -1
- data/lib/factpulse/models/tax_representative.rb +220 -0
- data/lib/factpulse/models/taxable_amount.rb +2 -2
- data/lib/factpulse/models/total_gross_amount.rb +2 -2
- data/lib/factpulse/models/total_net_amount.rb +2 -2
- data/lib/factpulse/models/total_vat_amount.rb +2 -2
- data/lib/factpulse/models/unit_net_price.rb +2 -2
- data/lib/factpulse/models/unit_of_measure.rb +1 -1
- data/lib/factpulse/models/validation_error.rb +1 -1
- data/lib/factpulse/models/validation_error_detail.rb +1 -1
- data/lib/factpulse/models/validation_error_loc_inner.rb +1 -1
- data/lib/factpulse/models/validation_error_response.rb +1 -1
- data/lib/factpulse/models/validation_info.rb +255 -0
- data/lib/factpulse/models/validation_success_response.rb +1 -1
- data/lib/factpulse/models/vat_accounting_code.rb +1 -1
- data/lib/factpulse/models/vat_amount.rb +2 -2
- data/lib/factpulse/models/vat_category.rb +1 -1
- data/lib/factpulse/models/vat_line.rb +13 -3
- data/lib/factpulse/models/{document_type.rb → vat_point_date_code.rb} +8 -10
- data/lib/factpulse/models/vat_rate.rb +104 -0
- data/lib/factpulse/models/verification_success_response.rb +1 -1
- data/lib/factpulse/models/verified_field_schema.rb +1 -1
- data/lib/factpulse/version.rb +2 -2
- data/lib/factpulse.rb +34 -3
- metadata +68 -6
|
@@ -0,0 +1,373 @@
|
|
|
1
|
+
# FactPulse::DocumentConversionApi
|
|
2
|
+
|
|
3
|
+
All URIs are relative to *http://localhost*
|
|
4
|
+
|
|
5
|
+
| Method | HTTP request | Description |
|
|
6
|
+
| ------ | ------------ | ----------- |
|
|
7
|
+
| [**convert_document_api_v1_convert_post**](DocumentConversionApi.md#convert_document_api_v1_convert_post) | **POST** /api/v1/convert | Convertir un document en Factur-X |
|
|
8
|
+
| [**convert_document_async_api_v1_convert_async_post**](DocumentConversionApi.md#convert_document_async_api_v1_convert_async_post) | **POST** /api/v1/convert/async | Convertir un document en Factur-X (mode asynchrone) |
|
|
9
|
+
| [**download_file_api_v1_convert_conversion_id_download_filename_get**](DocumentConversionApi.md#download_file_api_v1_convert_conversion_id_download_filename_get) | **GET** /api/v1/convert/{conversion_id}/download/{filename} | Télécharger un fichier généré |
|
|
10
|
+
| [**get_conversion_status_api_v1_convert_conversion_id_status_get**](DocumentConversionApi.md#get_conversion_status_api_v1_convert_conversion_id_status_get) | **GET** /api/v1/convert/{conversion_id}/status | Vérifier le statut d'une conversion |
|
|
11
|
+
| [**resume_conversion_api_v1_convert_conversion_id_resume_post**](DocumentConversionApi.md#resume_conversion_api_v1_convert_conversion_id_resume_post) | **POST** /api/v1/convert/{conversion_id}/resume | Reprendre une conversion avec corrections |
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## convert_document_api_v1_convert_post
|
|
15
|
+
|
|
16
|
+
> <ConvertSuccessResponse> convert_document_api_v1_convert_post(file, opts)
|
|
17
|
+
|
|
18
|
+
Convertir un document en Factur-X
|
|
19
|
+
|
|
20
|
+
Convertit un document (PDF, DOCX, XLSX, image) en Factur-X conforme. ## Workflow 1. **Upload** : Le document est envoyé en multipart/form-data 2. **Extraction OCR + Classification** : Mistral OCR extrait les données et classifie le document en un seul appel 3. **Enrichissement** : Les données sont enrichies via SIRENE (SIRET → raison sociale) 4. **Validation** : Les règles Schematron sont appliquées 5. **Génération** : Le Factur-X PDF/A-3 est généré ## Réponses possibles - **200** : Conversion réussie, fichiers disponibles - **202** : Données manquantes, complétion requise - **422** : Validation échouée, corrections nécessaires - **400** : Fichier invalide - **429** : Quota dépassé
|
|
21
|
+
|
|
22
|
+
### Examples
|
|
23
|
+
|
|
24
|
+
```ruby
|
|
25
|
+
require 'time'
|
|
26
|
+
require 'factpulse'
|
|
27
|
+
# setup authorization
|
|
28
|
+
FactPulse.configure do |config|
|
|
29
|
+
# Configure Bearer authorization: HTTPBearer
|
|
30
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
api_instance = FactPulse::DocumentConversionApi.new
|
|
34
|
+
file = File.new('/path/to/some/file') # File | Document à convertir (PDF, DOCX, XLSX, JPG, PNG)
|
|
35
|
+
opts = {
|
|
36
|
+
output: 'output_example', # String | Format de sortie: pdf, xml, both
|
|
37
|
+
callback_url: 'callback_url_example' # String |
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
begin
|
|
41
|
+
# Convertir un document en Factur-X
|
|
42
|
+
result = api_instance.convert_document_api_v1_convert_post(file, opts)
|
|
43
|
+
p result
|
|
44
|
+
rescue FactPulse::ApiError => e
|
|
45
|
+
puts "Error when calling DocumentConversionApi->convert_document_api_v1_convert_post: #{e}"
|
|
46
|
+
end
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
#### Using the convert_document_api_v1_convert_post_with_http_info variant
|
|
50
|
+
|
|
51
|
+
This returns an Array which contains the response data, status code and headers.
|
|
52
|
+
|
|
53
|
+
> <Array(<ConvertSuccessResponse>, Integer, Hash)> convert_document_api_v1_convert_post_with_http_info(file, opts)
|
|
54
|
+
|
|
55
|
+
```ruby
|
|
56
|
+
begin
|
|
57
|
+
# Convertir un document en Factur-X
|
|
58
|
+
data, status_code, headers = api_instance.convert_document_api_v1_convert_post_with_http_info(file, opts)
|
|
59
|
+
p status_code # => 2xx
|
|
60
|
+
p headers # => { ... }
|
|
61
|
+
p data # => <ConvertSuccessResponse>
|
|
62
|
+
rescue FactPulse::ApiError => e
|
|
63
|
+
puts "Error when calling DocumentConversionApi->convert_document_api_v1_convert_post_with_http_info: #{e}"
|
|
64
|
+
end
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Parameters
|
|
68
|
+
|
|
69
|
+
| Name | Type | Description | Notes |
|
|
70
|
+
| ---- | ---- | ----------- | ----- |
|
|
71
|
+
| **file** | **File** | Document à convertir (PDF, DOCX, XLSX, JPG, PNG) | |
|
|
72
|
+
| **output** | **String** | Format de sortie: pdf, xml, both | [optional][default to 'pdf'] |
|
|
73
|
+
| **callback_url** | **String** | | [optional] |
|
|
74
|
+
|
|
75
|
+
### Return type
|
|
76
|
+
|
|
77
|
+
[**ConvertSuccessResponse**](ConvertSuccessResponse.md)
|
|
78
|
+
|
|
79
|
+
### Authorization
|
|
80
|
+
|
|
81
|
+
[HTTPBearer](../README.md#HTTPBearer)
|
|
82
|
+
|
|
83
|
+
### HTTP request headers
|
|
84
|
+
|
|
85
|
+
- **Content-Type**: multipart/form-data
|
|
86
|
+
- **Accept**: application/json
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
## convert_document_async_api_v1_convert_async_post
|
|
90
|
+
|
|
91
|
+
> Object convert_document_async_api_v1_convert_async_post(file, opts)
|
|
92
|
+
|
|
93
|
+
Convertir un document en Factur-X (mode asynchrone)
|
|
94
|
+
|
|
95
|
+
Lance une conversion asynchrone via Celery. ## Workflow 1. **Upload** : Le document est envoyé en multipart/form-data 2. **Task Celery** : La tâche est mise en file d'attente 3. **Callback** : Notification par webhook à la fin ## Réponses possibles - **202** : Tâche acceptée, en cours de traitement - **400** : Fichier invalide
|
|
96
|
+
|
|
97
|
+
### Examples
|
|
98
|
+
|
|
99
|
+
```ruby
|
|
100
|
+
require 'time'
|
|
101
|
+
require 'factpulse'
|
|
102
|
+
# setup authorization
|
|
103
|
+
FactPulse.configure do |config|
|
|
104
|
+
# Configure Bearer authorization: HTTPBearer
|
|
105
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
api_instance = FactPulse::DocumentConversionApi.new
|
|
109
|
+
file = File.new('/path/to/some/file') # File | Document à convertir (PDF, DOCX, XLSX, JPG, PNG)
|
|
110
|
+
opts = {
|
|
111
|
+
output: 'output_example', # String | Format de sortie: pdf, xml, both
|
|
112
|
+
callback_url: 'callback_url_example' # String |
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
begin
|
|
116
|
+
# Convertir un document en Factur-X (mode asynchrone)
|
|
117
|
+
result = api_instance.convert_document_async_api_v1_convert_async_post(file, opts)
|
|
118
|
+
p result
|
|
119
|
+
rescue FactPulse::ApiError => e
|
|
120
|
+
puts "Error when calling DocumentConversionApi->convert_document_async_api_v1_convert_async_post: #{e}"
|
|
121
|
+
end
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
#### Using the convert_document_async_api_v1_convert_async_post_with_http_info variant
|
|
125
|
+
|
|
126
|
+
This returns an Array which contains the response data, status code and headers.
|
|
127
|
+
|
|
128
|
+
> <Array(Object, Integer, Hash)> convert_document_async_api_v1_convert_async_post_with_http_info(file, opts)
|
|
129
|
+
|
|
130
|
+
```ruby
|
|
131
|
+
begin
|
|
132
|
+
# Convertir un document en Factur-X (mode asynchrone)
|
|
133
|
+
data, status_code, headers = api_instance.convert_document_async_api_v1_convert_async_post_with_http_info(file, opts)
|
|
134
|
+
p status_code # => 2xx
|
|
135
|
+
p headers # => { ... }
|
|
136
|
+
p data # => Object
|
|
137
|
+
rescue FactPulse::ApiError => e
|
|
138
|
+
puts "Error when calling DocumentConversionApi->convert_document_async_api_v1_convert_async_post_with_http_info: #{e}"
|
|
139
|
+
end
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Parameters
|
|
143
|
+
|
|
144
|
+
| Name | Type | Description | Notes |
|
|
145
|
+
| ---- | ---- | ----------- | ----- |
|
|
146
|
+
| **file** | **File** | Document à convertir (PDF, DOCX, XLSX, JPG, PNG) | |
|
|
147
|
+
| **output** | **String** | Format de sortie: pdf, xml, both | [optional][default to 'pdf'] |
|
|
148
|
+
| **callback_url** | **String** | | [optional] |
|
|
149
|
+
|
|
150
|
+
### Return type
|
|
151
|
+
|
|
152
|
+
**Object**
|
|
153
|
+
|
|
154
|
+
### Authorization
|
|
155
|
+
|
|
156
|
+
[HTTPBearer](../README.md#HTTPBearer)
|
|
157
|
+
|
|
158
|
+
### HTTP request headers
|
|
159
|
+
|
|
160
|
+
- **Content-Type**: multipart/form-data
|
|
161
|
+
- **Accept**: application/json
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
## download_file_api_v1_convert_conversion_id_download_filename_get
|
|
165
|
+
|
|
166
|
+
> Object download_file_api_v1_convert_conversion_id_download_filename_get(conversion_id, filename)
|
|
167
|
+
|
|
168
|
+
Télécharger un fichier généré
|
|
169
|
+
|
|
170
|
+
Télécharge le fichier Factur-X PDF ou XML généré. ## Fichiers disponibles - `facturx.pdf` : PDF/A-3 avec XML embarqué - `facturx.xml` : XML CII seul (Cross Industry Invoice) Les fichiers sont disponibles pendant 24 heures après génération.
|
|
171
|
+
|
|
172
|
+
### Examples
|
|
173
|
+
|
|
174
|
+
```ruby
|
|
175
|
+
require 'time'
|
|
176
|
+
require 'factpulse'
|
|
177
|
+
# setup authorization
|
|
178
|
+
FactPulse.configure do |config|
|
|
179
|
+
# Configure Bearer authorization: HTTPBearer
|
|
180
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
api_instance = FactPulse::DocumentConversionApi.new
|
|
184
|
+
conversion_id = 'conversion_id_example' # String |
|
|
185
|
+
filename = 'filename_example' # String |
|
|
186
|
+
|
|
187
|
+
begin
|
|
188
|
+
# Télécharger un fichier généré
|
|
189
|
+
result = api_instance.download_file_api_v1_convert_conversion_id_download_filename_get(conversion_id, filename)
|
|
190
|
+
p result
|
|
191
|
+
rescue FactPulse::ApiError => e
|
|
192
|
+
puts "Error when calling DocumentConversionApi->download_file_api_v1_convert_conversion_id_download_filename_get: #{e}"
|
|
193
|
+
end
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
#### Using the download_file_api_v1_convert_conversion_id_download_filename_get_with_http_info variant
|
|
197
|
+
|
|
198
|
+
This returns an Array which contains the response data, status code and headers.
|
|
199
|
+
|
|
200
|
+
> <Array(Object, Integer, Hash)> download_file_api_v1_convert_conversion_id_download_filename_get_with_http_info(conversion_id, filename)
|
|
201
|
+
|
|
202
|
+
```ruby
|
|
203
|
+
begin
|
|
204
|
+
# Télécharger un fichier généré
|
|
205
|
+
data, status_code, headers = api_instance.download_file_api_v1_convert_conversion_id_download_filename_get_with_http_info(conversion_id, filename)
|
|
206
|
+
p status_code # => 2xx
|
|
207
|
+
p headers # => { ... }
|
|
208
|
+
p data # => Object
|
|
209
|
+
rescue FactPulse::ApiError => e
|
|
210
|
+
puts "Error when calling DocumentConversionApi->download_file_api_v1_convert_conversion_id_download_filename_get_with_http_info: #{e}"
|
|
211
|
+
end
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### Parameters
|
|
215
|
+
|
|
216
|
+
| Name | Type | Description | Notes |
|
|
217
|
+
| ---- | ---- | ----------- | ----- |
|
|
218
|
+
| **conversion_id** | **String** | | |
|
|
219
|
+
| **filename** | **String** | | |
|
|
220
|
+
|
|
221
|
+
### Return type
|
|
222
|
+
|
|
223
|
+
**Object**
|
|
224
|
+
|
|
225
|
+
### Authorization
|
|
226
|
+
|
|
227
|
+
[HTTPBearer](../README.md#HTTPBearer)
|
|
228
|
+
|
|
229
|
+
### HTTP request headers
|
|
230
|
+
|
|
231
|
+
- **Content-Type**: Not defined
|
|
232
|
+
- **Accept**: application/json
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
## get_conversion_status_api_v1_convert_conversion_id_status_get
|
|
236
|
+
|
|
237
|
+
> Hash<String, Object> get_conversion_status_api_v1_convert_conversion_id_status_get(conversion_id)
|
|
238
|
+
|
|
239
|
+
Vérifier le statut d'une conversion
|
|
240
|
+
|
|
241
|
+
Retourne le statut actuel d'une conversion asynchrone.
|
|
242
|
+
|
|
243
|
+
### Examples
|
|
244
|
+
|
|
245
|
+
```ruby
|
|
246
|
+
require 'time'
|
|
247
|
+
require 'factpulse'
|
|
248
|
+
# setup authorization
|
|
249
|
+
FactPulse.configure do |config|
|
|
250
|
+
# Configure Bearer authorization: HTTPBearer
|
|
251
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
252
|
+
end
|
|
253
|
+
|
|
254
|
+
api_instance = FactPulse::DocumentConversionApi.new
|
|
255
|
+
conversion_id = 'conversion_id_example' # String |
|
|
256
|
+
|
|
257
|
+
begin
|
|
258
|
+
# Vérifier le statut d'une conversion
|
|
259
|
+
result = api_instance.get_conversion_status_api_v1_convert_conversion_id_status_get(conversion_id)
|
|
260
|
+
p result
|
|
261
|
+
rescue FactPulse::ApiError => e
|
|
262
|
+
puts "Error when calling DocumentConversionApi->get_conversion_status_api_v1_convert_conversion_id_status_get: #{e}"
|
|
263
|
+
end
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
#### Using the get_conversion_status_api_v1_convert_conversion_id_status_get_with_http_info variant
|
|
267
|
+
|
|
268
|
+
This returns an Array which contains the response data, status code and headers.
|
|
269
|
+
|
|
270
|
+
> <Array(Hash<String, Object>, Integer, Hash)> get_conversion_status_api_v1_convert_conversion_id_status_get_with_http_info(conversion_id)
|
|
271
|
+
|
|
272
|
+
```ruby
|
|
273
|
+
begin
|
|
274
|
+
# Vérifier le statut d'une conversion
|
|
275
|
+
data, status_code, headers = api_instance.get_conversion_status_api_v1_convert_conversion_id_status_get_with_http_info(conversion_id)
|
|
276
|
+
p status_code # => 2xx
|
|
277
|
+
p headers # => { ... }
|
|
278
|
+
p data # => Hash<String, Object>
|
|
279
|
+
rescue FactPulse::ApiError => e
|
|
280
|
+
puts "Error when calling DocumentConversionApi->get_conversion_status_api_v1_convert_conversion_id_status_get_with_http_info: #{e}"
|
|
281
|
+
end
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
### Parameters
|
|
285
|
+
|
|
286
|
+
| Name | Type | Description | Notes |
|
|
287
|
+
| ---- | ---- | ----------- | ----- |
|
|
288
|
+
| **conversion_id** | **String** | | |
|
|
289
|
+
|
|
290
|
+
### Return type
|
|
291
|
+
|
|
292
|
+
**Hash<String, Object>**
|
|
293
|
+
|
|
294
|
+
### Authorization
|
|
295
|
+
|
|
296
|
+
[HTTPBearer](../README.md#HTTPBearer)
|
|
297
|
+
|
|
298
|
+
### HTTP request headers
|
|
299
|
+
|
|
300
|
+
- **Content-Type**: Not defined
|
|
301
|
+
- **Accept**: application/json
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
## resume_conversion_api_v1_convert_conversion_id_resume_post
|
|
305
|
+
|
|
306
|
+
> <ConvertSuccessResponse> resume_conversion_api_v1_convert_conversion_id_resume_post(conversion_id, convert_resume_request)
|
|
307
|
+
|
|
308
|
+
Reprendre une conversion avec corrections
|
|
309
|
+
|
|
310
|
+
Reprend une conversion après complétion des données manquantes ou correction des erreurs. L'extraction OCR est conservée, les données sont mises à jour avec les corrections, puis une nouvelle validation Schematron est effectuée.
|
|
311
|
+
|
|
312
|
+
### Examples
|
|
313
|
+
|
|
314
|
+
```ruby
|
|
315
|
+
require 'time'
|
|
316
|
+
require 'factpulse'
|
|
317
|
+
# setup authorization
|
|
318
|
+
FactPulse.configure do |config|
|
|
319
|
+
# Configure Bearer authorization: HTTPBearer
|
|
320
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
321
|
+
end
|
|
322
|
+
|
|
323
|
+
api_instance = FactPulse::DocumentConversionApi.new
|
|
324
|
+
conversion_id = 'conversion_id_example' # String |
|
|
325
|
+
convert_resume_request = FactPulse::ConvertResumeRequest.new # ConvertResumeRequest |
|
|
326
|
+
|
|
327
|
+
begin
|
|
328
|
+
# Reprendre une conversion avec corrections
|
|
329
|
+
result = api_instance.resume_conversion_api_v1_convert_conversion_id_resume_post(conversion_id, convert_resume_request)
|
|
330
|
+
p result
|
|
331
|
+
rescue FactPulse::ApiError => e
|
|
332
|
+
puts "Error when calling DocumentConversionApi->resume_conversion_api_v1_convert_conversion_id_resume_post: #{e}"
|
|
333
|
+
end
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
#### Using the resume_conversion_api_v1_convert_conversion_id_resume_post_with_http_info variant
|
|
337
|
+
|
|
338
|
+
This returns an Array which contains the response data, status code and headers.
|
|
339
|
+
|
|
340
|
+
> <Array(<ConvertSuccessResponse>, Integer, Hash)> resume_conversion_api_v1_convert_conversion_id_resume_post_with_http_info(conversion_id, convert_resume_request)
|
|
341
|
+
|
|
342
|
+
```ruby
|
|
343
|
+
begin
|
|
344
|
+
# Reprendre une conversion avec corrections
|
|
345
|
+
data, status_code, headers = api_instance.resume_conversion_api_v1_convert_conversion_id_resume_post_with_http_info(conversion_id, convert_resume_request)
|
|
346
|
+
p status_code # => 2xx
|
|
347
|
+
p headers # => { ... }
|
|
348
|
+
p data # => <ConvertSuccessResponse>
|
|
349
|
+
rescue FactPulse::ApiError => e
|
|
350
|
+
puts "Error when calling DocumentConversionApi->resume_conversion_api_v1_convert_conversion_id_resume_post_with_http_info: #{e}"
|
|
351
|
+
end
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
### Parameters
|
|
355
|
+
|
|
356
|
+
| Name | Type | Description | Notes |
|
|
357
|
+
| ---- | ---- | ----------- | ----- |
|
|
358
|
+
| **conversion_id** | **String** | | |
|
|
359
|
+
| **convert_resume_request** | [**ConvertResumeRequest**](ConvertResumeRequest.md) | | |
|
|
360
|
+
|
|
361
|
+
### Return type
|
|
362
|
+
|
|
363
|
+
[**ConvertSuccessResponse**](ConvertSuccessResponse.md)
|
|
364
|
+
|
|
365
|
+
### Authorization
|
|
366
|
+
|
|
367
|
+
[HTTPBearer](../README.md#HTTPBearer)
|
|
368
|
+
|
|
369
|
+
### HTTP request headers
|
|
370
|
+
|
|
371
|
+
- **Content-Type**: application/json
|
|
372
|
+
- **Accept**: application/json
|
|
373
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# FactPulse::DocumentTypeInfo
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **code** | **Integer** | Code UNTDID 1001 | |
|
|
8
|
+
| **label** | **String** | Libelle (Facture, Avoir, etc.) | |
|
|
9
|
+
| **detected_as** | **String** | Classification interne | |
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
require 'factpulse'
|
|
15
|
+
|
|
16
|
+
instance = FactPulse::DocumentTypeInfo.new(
|
|
17
|
+
code: null,
|
|
18
|
+
label: null,
|
|
19
|
+
detected_as: null
|
|
20
|
+
)
|
|
21
|
+
```
|
|
22
|
+
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# FactPulse::ExtractionInfo
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **confidence_score** | **Float** | Score de confiance global (0-1) | |
|
|
8
|
+
| **fields_extracted** | **Integer** | Nombre de champs extraits | |
|
|
9
|
+
| **fields_enriched** | **Integer** | Nombre de champs enrichis automatiquement | [optional][default to 0] |
|
|
10
|
+
| **fields_missing** | **Integer** | Nombre de champs manquants | [optional][default to 0] |
|
|
11
|
+
|
|
12
|
+
## Example
|
|
13
|
+
|
|
14
|
+
```ruby
|
|
15
|
+
require 'factpulse'
|
|
16
|
+
|
|
17
|
+
instance = FactPulse::ExtractionInfo.new(
|
|
18
|
+
confidence_score: null,
|
|
19
|
+
fields_extracted: null,
|
|
20
|
+
fields_enriched: null,
|
|
21
|
+
fields_missing: null
|
|
22
|
+
)
|
|
23
|
+
```
|
|
24
|
+
|
data/docs/FacturXInvoice.md
CHANGED
|
@@ -20,6 +20,20 @@
|
|
|
20
20
|
| **current_user_id** | **Integer** | | [optional] |
|
|
21
21
|
| **supplementary_attachments** | [**Array<SupplementaryAttachment>**](SupplementaryAttachment.md) | | [optional] |
|
|
22
22
|
| **payee** | [**Payee**](Payee.md) | | [optional] |
|
|
23
|
+
| **delivery_party** | [**DeliveryParty**](DeliveryParty.md) | | [optional] |
|
|
24
|
+
| **tax_representative** | [**TaxRepresentative**](TaxRepresentative.md) | | [optional] |
|
|
25
|
+
| **delivery_date** | **String** | | [optional] |
|
|
26
|
+
| **billing_period_start** | **String** | | [optional] |
|
|
27
|
+
| **billing_period_end** | **String** | | [optional] |
|
|
28
|
+
| **payment_reference** | **String** | | [optional] |
|
|
29
|
+
| **creditor_reference_id** | **String** | | [optional] |
|
|
30
|
+
| **direct_debit_mandate_id** | **String** | | [optional] |
|
|
31
|
+
| **debtor_iban** | **String** | | [optional] |
|
|
32
|
+
| **payment_terms** | **String** | | [optional] |
|
|
33
|
+
| **allowances_charges** | [**Array<AllowanceCharge>**](AllowanceCharge.md) | | [optional] |
|
|
34
|
+
| **additional_documents** | [**Array<AdditionalDocument>**](AdditionalDocument.md) | | [optional] |
|
|
35
|
+
| **buyer_accounting_reference** | **String** | | [optional] |
|
|
36
|
+
| **payment_card** | [**PaymentCard**](PaymentCard.md) | | [optional] |
|
|
23
37
|
|
|
24
38
|
## Example
|
|
25
39
|
|
|
@@ -42,7 +56,21 @@ instance = FactPulse::FacturXInvoice.new(
|
|
|
42
56
|
comment: null,
|
|
43
57
|
current_user_id: null,
|
|
44
58
|
supplementary_attachments: null,
|
|
45
|
-
payee: null
|
|
59
|
+
payee: null,
|
|
60
|
+
delivery_party: null,
|
|
61
|
+
tax_representative: null,
|
|
62
|
+
delivery_date: null,
|
|
63
|
+
billing_period_start: null,
|
|
64
|
+
billing_period_end: null,
|
|
65
|
+
payment_reference: null,
|
|
66
|
+
creditor_reference_id: null,
|
|
67
|
+
direct_debit_mandate_id: null,
|
|
68
|
+
debtor_iban: null,
|
|
69
|
+
payment_terms: null,
|
|
70
|
+
allowances_charges: null,
|
|
71
|
+
additional_documents: null,
|
|
72
|
+
buyer_accounting_reference: null,
|
|
73
|
+
payment_card: null
|
|
46
74
|
)
|
|
47
75
|
```
|
|
48
76
|
|
data/docs/FileInfo.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# FactPulse::FileInfo
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **content_b64** | **String** | | [optional] |
|
|
8
|
+
| **size_bytes** | **Integer** | Taille en bytes | [optional][default to 0] |
|
|
9
|
+
|
|
10
|
+
## Example
|
|
11
|
+
|
|
12
|
+
```ruby
|
|
13
|
+
require 'factpulse'
|
|
14
|
+
|
|
15
|
+
instance = FactPulse::FileInfo.new(
|
|
16
|
+
content_b64: null,
|
|
17
|
+
size_bytes: null
|
|
18
|
+
)
|
|
19
|
+
```
|
|
20
|
+
|
data/docs/FilesInfo.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# FactPulse::FilesInfo
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **facturx_pdf** | [**FileInfo**](FileInfo.md) | | [optional] |
|
|
8
|
+
| **xml** | [**FileInfo**](FileInfo.md) | | [optional] |
|
|
9
|
+
|
|
10
|
+
## Example
|
|
11
|
+
|
|
12
|
+
```ruby
|
|
13
|
+
require 'factpulse'
|
|
14
|
+
|
|
15
|
+
instance = FactPulse::FilesInfo.new(
|
|
16
|
+
facturx_pdf: null,
|
|
17
|
+
xml: null
|
|
18
|
+
)
|
|
19
|
+
```
|
|
20
|
+
|
data/docs/IncomingInvoice.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
| **flow_id** | **String** | | [optional] |
|
|
8
8
|
| **source_format** | [**InvoiceFormat**](InvoiceFormat.md) | Invoice source format | |
|
|
9
9
|
| **supplier_reference** | **String** | Invoice number issued by the supplier (BT-1) | |
|
|
10
|
-
| **document_type** | [**
|
|
10
|
+
| **document_type** | [**InvoiceTypeCode**](InvoiceTypeCode.md) | Document type (BT-3) | [optional] |
|
|
11
11
|
| **supplier** | [**IncomingSupplier**](IncomingSupplier.md) | Invoice issuer (SellerTradeParty) | |
|
|
12
12
|
| **billing_site_name** | **String** | Recipient name / your company (BT-44) | |
|
|
13
13
|
| **billing_site_siret** | **String** | | [optional] |
|
data/docs/InvoiceLine.md
CHANGED
|
@@ -4,21 +4,38 @@
|
|
|
4
4
|
|
|
5
5
|
| Name | Type | Description | Notes |
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
|
-
| **line_number** | **Integer** |
|
|
7
|
+
| **line_number** | **Integer** | Invoice line identifier (BT-126). | |
|
|
8
|
+
| **line_note** | **String** | | [optional] |
|
|
8
9
|
| **reference** | **String** | | [optional] |
|
|
9
|
-
| **
|
|
10
|
+
| **buyer_assigned_id** | **String** | | [optional] |
|
|
11
|
+
| **product_global_id** | **String** | | [optional] |
|
|
12
|
+
| **product_global_id_scheme** | **String** | | [optional] |
|
|
13
|
+
| **item_name** | **String** | Item name (BT-153). | |
|
|
14
|
+
| **item_description** | **String** | | [optional] |
|
|
15
|
+
| **origin_country** | **String** | | [optional] |
|
|
16
|
+
| **characteristics** | [**Array<ProductCharacteristic>**](ProductCharacteristic.md) | | [optional] |
|
|
17
|
+
| **classifications** | [**Array<ProductClassification>**](ProductClassification.md) | | [optional] |
|
|
10
18
|
| **quantity** | [**Quantity**](Quantity.md) | | |
|
|
11
|
-
| **unit** | [**UnitOfMeasure**](UnitOfMeasure.md) |
|
|
19
|
+
| **unit** | [**UnitOfMeasure**](UnitOfMeasure.md) | Invoiced quantity unit of measure code (BT-130). | |
|
|
20
|
+
| **gross_unit_price** | [**GrossUnitPrice**](GrossUnitPrice.md) | | [optional] |
|
|
12
21
|
| **unit_net_price** | [**UnitNetPrice**](UnitNetPrice.md) | | |
|
|
13
|
-
| **
|
|
22
|
+
| **price_basis_quantity** | [**PriceBasisQuantity**](PriceBasisQuantity.md) | | [optional] |
|
|
23
|
+
| **price_basis_unit** | **String** | | [optional] |
|
|
24
|
+
| **price_allowance_amount** | [**PriceAllowanceAmount**](PriceAllowanceAmount.md) | | [optional] |
|
|
14
25
|
| **line_net_amount** | [**LineNetAmount**](LineNetAmount.md) | | [optional] |
|
|
26
|
+
| **allowance_amount** | [**InvoiceLineAllowanceAmount**](InvoiceLineAllowanceAmount.md) | | [optional] |
|
|
27
|
+
| **allowance_reason_code** | [**AllowanceReasonCode**](AllowanceReasonCode.md) | | [optional] |
|
|
28
|
+
| **allowance_reason** | **String** | | [optional] |
|
|
29
|
+
| **allowances_charges** | [**Array<AllowanceCharge>**](AllowanceCharge.md) | | [optional] |
|
|
15
30
|
| **vat_rate** | **String** | | [optional] |
|
|
16
31
|
| **manual_vat_rate** | [**ManualVatRate**](ManualVatRate.md) | | [optional] |
|
|
17
32
|
| **vat_category** | [**VATCategory**](VATCategory.md) | | [optional] |
|
|
18
33
|
| **period_start_date** | **String** | | [optional] |
|
|
19
34
|
| **period_end_date** | **String** | | [optional] |
|
|
20
|
-
| **
|
|
21
|
-
| **
|
|
35
|
+
| **purchase_order_line_ref** | **String** | | [optional] |
|
|
36
|
+
| **accounting_account** | **String** | | [optional] |
|
|
37
|
+
| **additional_documents** | [**Array<AdditionalDocument>**](AdditionalDocument.md) | | [optional] |
|
|
38
|
+
| **line_notes** | [**Array<InvoiceNote>**](InvoiceNote.md) | | [optional] |
|
|
22
39
|
|
|
23
40
|
## Example
|
|
24
41
|
|
|
@@ -27,20 +44,37 @@ require 'factpulse'
|
|
|
27
44
|
|
|
28
45
|
instance = FactPulse::InvoiceLine.new(
|
|
29
46
|
line_number: null,
|
|
47
|
+
line_note: null,
|
|
30
48
|
reference: null,
|
|
49
|
+
buyer_assigned_id: null,
|
|
50
|
+
product_global_id: null,
|
|
51
|
+
product_global_id_scheme: null,
|
|
31
52
|
item_name: null,
|
|
53
|
+
item_description: null,
|
|
54
|
+
origin_country: null,
|
|
55
|
+
characteristics: null,
|
|
56
|
+
classifications: null,
|
|
32
57
|
quantity: null,
|
|
33
58
|
unit: null,
|
|
59
|
+
gross_unit_price: null,
|
|
34
60
|
unit_net_price: null,
|
|
35
|
-
|
|
61
|
+
price_basis_quantity: null,
|
|
62
|
+
price_basis_unit: null,
|
|
63
|
+
price_allowance_amount: null,
|
|
36
64
|
line_net_amount: null,
|
|
65
|
+
allowance_amount: null,
|
|
66
|
+
allowance_reason_code: null,
|
|
67
|
+
allowance_reason: null,
|
|
68
|
+
allowances_charges: null,
|
|
37
69
|
vat_rate: null,
|
|
38
70
|
manual_vat_rate: null,
|
|
39
71
|
vat_category: null,
|
|
40
72
|
period_start_date: null,
|
|
41
73
|
period_end_date: null,
|
|
42
|
-
|
|
43
|
-
|
|
74
|
+
purchase_order_line_ref: null,
|
|
75
|
+
accounting_account: null,
|
|
76
|
+
additional_documents: null,
|
|
77
|
+
line_notes: null
|
|
44
78
|
)
|
|
45
79
|
```
|
|
46
80
|
|