Skip to main content
POST
/
api
/
v1
/
sales
curl --request POST \
  --url https://api.lapyme.com.ar/api/v1/sales \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: <idempotency-key>' \
  --data '
{
  "voucher_type": 90,
  "point_of_sale_id": "550e8400-e29b-41d4-a716-446655440002",
  "invoice_date": "2026-04-18",
  "due_date": "2026-04-18",
  "currency": "PES",
  "is_full_amount_pending": true,
  "items": [
    {
      "name": "Technical service",
      "product_type": "service",
      "quantity": 1,
      "unit_price": 10000,
      "tax_rate_id": 5
    }
  ]
}
'
{
  "request_id": "req_sale_commit_1",
  "data": {
    "sale": {
      "sale_id": "cf19b3ae-4c08-48be-b9d7-e6f2f5baf609",
      "customer_id": null,
      "voucher_type": "90",
      "point_of_sale_id": "550e8400-e29b-41d4-a716-446655440002",
      "invoice_number": 84,
      "formatted_invoice_number": "PRES-00001-00000084",
      "invoice_status": "not_required",
      "invoice_date": "2026-04-18",
      "due_date": "2026-04-18",
      "currency": "PES",
      "subtotal": 8264,
      "tax_amount": 1736,
      "total": 10000,
      "exempt_amount": 0,
      "non_taxed_amount": 0,
      "tributes_amount": 0,
      "discount_amount": 0,
      "rounding_adjustment": 0,
      "balance": 10000,
      "created_at": "2026-04-18T12:00:00.000Z"
    },
    "normalized_sale": {
      "customer_id": null,
      "customer_tax_category_override": null,
      "voucher_type": 90,
      "point_of_sale_id": "550e8400-e29b-41d4-a716-446655440002",
      "register_id": null,
      "operator_id": null,
      "invoice_date": "2026-04-18",
      "due_date": "2026-04-18",
      "service_from": null,
      "service_to": null,
      "currency": "PES",
      "exchange_rate": null,
      "same_currency_payment": false,
      "notes": null,
      "subtotal": 8264,
      "tax_amount": 1736,
      "total": 10000,
      "exempt_amount": 0,
      "non_taxed_amount": 0,
      "tributes_amount": 0,
      "national_perception_amount": 0,
      "gross_income_perception_amount": 0,
      "gross_income_tax_breakdown": [],
      "municipal_perception_amount": 0,
      "internal_tribute_amount": 0,
      "uncategorized_vat_perception_amount": 0,
      "other_tribute_amount": 0,
      "discount_type": null,
      "discount_value": null,
      "discount_amount": 0,
      "rounding_adjustment": 0,
      "balance": 10000,
      "is_full_amount_pending": false,
      "auto_invoicing": false,
      "items": [
        {
          "product_id": null,
          "product_name": null,
          "sku": null,
          "warehouse_id": null,
          "name": "Technical service",
          "product_type": "service",
          "quantity": 1,
          "unit_price": 10000,
          "unit_cost": null,
          "tax_rate_id": 5,
          "is_exempt": false,
          "discount": null,
          "notes": null,
          "account_id": null,
          "cost_center1_id": null,
          "cost_center2_id": null,
          "cost_center3_id": null
        }
      ],
      "payment_methods": []
    },
    "projected_effects": {
      "inventory": {
        "will_affect_stock": false,
        "warehouse_ids": [],
        "product_line_count": 0,
        "total_quantity": 0
      },
      "accounting": {
        "will_create_sale_entry": true,
        "will_create_payment_entry": false
      },
      "fiscal": {
        "invoice_status": "not_required",
        "auto_invoicing": false
      },
      "payments": {
        "will_create_payments": false,
        "payment_method_count": 0,
        "total_amount": 0,
        "pending_amount": 10000
      }
    },
    "idempotent_replay": false
  },
  "warnings": []
}

Documentation Index

Fetch the complete documentation index at: https://docs.lapyme.com.ar/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Incluí tu API key en el header Authorization con el prefijo Bearer.

Headers

Idempotency-Key
string
required

Clave única para evitar duplicados al reintentar la misma creación de venta.

Required string length: 1 - 255
X-Request-Id
string

ID opcional de la solicitud para trazabilidad. Si se omite, el servidor genera uno.

Required string length: 1 - 255

Body

application/json
voucher_type
integer
required
Required range: 1 <= x <= 95
point_of_sale_id
string<uuid>
required
Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
invoice_date
string<date>
required
Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
currency
enum<string>
required
Available options:
PES,
DOL
items
object[]
required
Minimum array length: 1
customer_id
string<uuid>
Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
customer_tax_category_override
string
Required string length: 1 - 120
register_id
string<uuid>
Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
operator_id
string<uuid>
Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
due_date
string<date>
Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
service_from
string<date>
Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
service_to
string<date>
Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
exchange_rate
number
Required range: x > 0
same_currency_payment
boolean
notes
string
Maximum string length: 1000
discount_type
enum<string>
Available options:
percentage,
amount
discount_value
number
Required range: x >= 0
discount_amount
integer
Required range: 0 <= x <= 9007199254740991
subtotal
integer
Required range: 0 <= x <= 9007199254740991
tax_amount
integer
Required range: 0 <= x <= 9007199254740991
total
integer
Required range: 0 <= x <= 9007199254740991
exempt_amount
integer
Required range: 0 <= x <= 9007199254740991
non_taxed_amount
integer
Required range: 0 <= x <= 9007199254740991
tributes_amount
integer
Required range: 0 <= x <= 9007199254740991
national_perception_amount
integer
Required range: 0 <= x <= 9007199254740991
gross_income_perception_amount
integer
Required range: 0 <= x <= 9007199254740991
gross_income_tax_breakdown
object[]
municipal_perception_amount
integer
Required range: 0 <= x <= 9007199254740991
internal_tribute_amount
integer
Required range: 0 <= x <= 9007199254740991
uncategorized_vat_perception_amount
integer
Required range: 0 <= x <= 9007199254740991
other_tribute_amount
integer
Required range: 0 <= x <= 9007199254740991
rounding_adjustment
integer
Required range: -9007199254740991 <= x <= 9007199254740991
payment_methods
object[]
is_full_amount_pending
boolean
auto_invoicing
boolean

Response

Venta creada exitosamente

request_id
string
required
data
object
required
warnings
object[]
required