> For the complete documentation index, see [llms.txt](https://docs.afipsdk.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.afipsdk.com/siguientes-pasos/web-services/remito-carnico.md).

# Remito cárnico

### Requisitos previos

Para poder usar esta guía, primero necesitarás:

* [Integrar Afip SDK en tu proyecto](/readme.md#integracion)

***

<https://www.afip.gob.ar/ws/remitoElecCarnico/Manual_Desarrollador_WSREMCARNE_v3_6.pdf>

<details>

<summary>Identificador <kbd>wsremcarne</kbd></summary>

Producción <img src="/files/0SuBWcc6JW0kAoGyiJcC" alt="Produccion" data-size="line">

Desarrollo <img src="/files/PEhHeMAIXaQl8jmEm5I2" alt="Desarrollo" data-size="original">

</details>

### **Paso 1 - Crear una instancia del web service**

{% tabs %}
{% tab title="Node" %}

```js
const ws = afip.WebService('wsremcarne');
```

{% endtab %}

{% tab title="PHP" %}

```php
$ws = $afip->WebService('wsremcarne');
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
ws = afip.webService("wsremcarne")
```

{% endtab %}

{% tab title="Python" %}

```python
ws = afip.webService("wsremcarne")
```

{% endtab %}

{% tab title=".NET" %}

```csharp
AfipWebService ws = afip.WebService("wsremcarne");
```

{% endtab %}

{% tab title="Java" %}

```java
AfipWebService ws = afip.webService("wsremcarne");
```

{% endtab %}

{% tab title="API" %}
No se requiere ninguna acción adicional.
{% endtab %}
{% endtabs %}

### **Paso 2 - Preparar lo datos para la solicitud**

En la [Referencia de API de Remito Cárnico](https://afipsdk.com/docs/api-reference/web-services/wsremcarne/) pueden encontrar los métodos disponibles

En este ejemplo vamos a usar los datos para el método `generarRemito`

{% tabs %}
{% tab title="Node" %}

```js
// Obtenemos el TA
const ta = await ws.getTokenAuthorization();
	
// Preparamos los datos
const data = {
	'authRequest': {
            'token': ta.token,
            'sign': ta.sign,
            'cuitRepresentada': afip.CUIT,
        },
        'idReq': 410,
        'remito': {
            'tipoComprobante': 995,
            'tipoMovimiento': 'ENV',
            'categoriaEmisor': 1,
            'puntoEmision': 9000,
            'cuitTitularMercaderia': 11111111111,
            'tipoReceptor': 'MI',
            'categoriaReceptor': 3,
            'cuitReceptor': 22222222222,
            'codDomDestino': 3,
            'viaje': {
                'cuitTransportista': 33333333333,
                'cuitConductor': 44444444444,
                'fechaInicioViaje': '2019-02-14',
                'distanciaKm': 670,
                'vehiculo': {
                    'dominioVehiculo': 'ARF458'
                }
            },
            'arrayMercaderias': [
                {
                    'orden': 1,
                    'codTipoProd': 6.24,
                    'tropa': 121,
                    'kilos': 50,
                    'unidades': 4,
                },
                {
                    'orden': 2,
                    'codTipoProd': 6.9,
                    'tropa': 121,
                    'kilos': 50,
                    'unidades': 0,
                }
            ]
        }
};
```

{% endtab %}

{% tab title="PHP" %}

```php
// Obtenemos el TA
$ta = $ws->GetTokenAuthorization();
	
// Preparamos los datos
$data = array(
	'authRequest' => array(
            'token' => $ta->token,
            'sign' => $ta->sign,
            'cuitRepresentada' => $afip->CUIT,
        ),
        'idReq' => 410,
        'remito' => array(
            'tipoComprobante' => 995,
            'tipoMovimiento' => 'ENV',
            'categoriaEmisor' => 1,
            'puntoEmision' => 9000,
            'cuitTitularMercaderia' => 11111111111,
            'tipoReceptor' => 'MI',
            'categoriaReceptor' => 3,
            'cuitReceptor' => 22222222222,
            'codDomDestino' => 3,
            'viaje' => array(
                'cuitTransportista' => 33333333333,
                'cuitConductor' => 44444444444,
                'fechaInicioViaje' => '2019-02-14',
                'distanciaKm' => 670,
                'vehiculo' => array(
                    'dominioVehiculo' => 'ARF458'
                )
            ),
            'arrayMercaderias' => array(
                array(
                    'orden' => 1,
                    'codTipoProd' => 6.24,
                    'tropa' => 121,
                    'kilos' => 50,
                    'unidades' => 4,
                ),
                array(
                    'orden' => 2,
                    'codTipoProd' => 6.9,
                    'tropa' => 121,
                    'kilos' => 50,
                    'unidades' => 0,
                )
            )
        )
);
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
# Obtenemos el TA
ta = ws.getTokenAuthorization

# Preparamos los datos
data = {
  "authRequest": {
    "token": ta["token"],
    "sign": ta["sign"],
    "cuitRepresentada": afip.CUIT
  },
  "idReq": 410,
  "remito": {
    "tipoComprobante": 995,
    "tipoMovimiento": "ENV",
    "categoriaEmisor": 1,
    "puntoEmision": 9000,
    "cuitTitularMercaderia": 11111111111,
    "tipoReceptor": "MI",
    "categoriaReceptor": 3,
    "cuitReceptor": 22222222222,
    "codDomDestino": 3,
    "viaje": {
      "cuitTransportista": 33333333333,
      "cuitConductor": 44444444444,
      "fechaInicioViaje": "2019-02-14",
      "distanciaKm": 670,
      "vehiculo": {
        "dominioVehiculo": "ARF458"
      }
    },
    "arrayMercaderias": [
      {
        "orden": 1,
        "codTipoProd": 6.24,
        "tropa": 121,
        "kilos": 50,
        "unidades": 4
      },
      {
        "orden": 2,
        "codTipoProd": 6.9,
        "tropa": 121,
        "kilos": 50,
        "unidades": 0
      }
    ]
  }
}
```

{% endtab %}

{% tab title="Python" %}

```python
# Obtenemos el TA
ta = ws.getTokenAuthorization()

# Preparamos los datos
data = {
  "authRequest": {
    "token": ta["token"],
    "sign": ta["sign"],
    "cuitRepresentada": afip.CUIT
  },
  "idReq": 410,
  "remito": {
    "tipoComprobante": 995,
    "tipoMovimiento": "ENV",
    "categoriaEmisor": 1,
    "puntoEmision": 9000,
    "cuitTitularMercaderia": 11111111111,
    "tipoReceptor": "MI",
    "categoriaReceptor": 3,
    "cuitReceptor": 22222222222,
    "codDomDestino": 3,
    "viaje": {
      "cuitTransportista": 33333333333,
      "cuitConductor": 44444444444,
      "fechaInicioViaje": "2019-02-14",
      "distanciaKm": 670,
      "vehiculo": {
        "dominioVehiculo": "ARF458"
      }
    },
    "arrayMercaderias": [
      {
        "orden": 1,
        "codTipoProd": 6.24,
        "tropa": 121,
        "kilos": 50,
        "unidades": 4
      },
      {
        "orden": 2,
        "codTipoProd": 6.9,
        "tropa": 121,
        "kilos": 50,
        "unidades": 0
      }
    ]
  }
}
```

{% endtab %}

{% tab title=".NET" %}

```csharp
// Obtenemos el TA
var ta = await ws.GetTokenAuthorizationAsync();

// Preparamos los datos
var data = new Dictionary<string, object?>
{
    ["authRequest"] = new Dictionary<string, object?>
    {
        ["token"] = ta["token"],
        ["sign"] = ta["sign"],
        ["cuitRepresentada"] = afip.CUIT,
    },
    ["idReq"] = 410,
    ["remito"] = new Dictionary<string, object?>
    {
        ["tipoComprobante"] = 995,
        ["tipoMovimiento"] = "ENV",
        ["categoriaEmisor"] = 1,
        ["puntoEmision"] = 9000,
        ["cuitTitularMercaderia"] = 11111111111,
        ["tipoReceptor"] = "MI",
        ["categoriaReceptor"] = 3,
        ["cuitReceptor"] = 22222222222,
        ["codDomDestino"] = 3,
        ["viaje"] = new Dictionary<string, object?>
        {
            ["cuitTransportista"] = 33333333333,
            ["cuitConductor"] = 44444444444,
            ["fechaInicioViaje"] = "2019-02-14",
            ["distanciaKm"] = 670,
            ["vehiculo"] = new Dictionary<string, object?>
            {
                ["dominioVehiculo"] = "ARF458"
            }
        },
        ["arrayMercaderias"] = new[]
        {
            new Dictionary<string, object?> { ["orden"] = 1, ["codTipoProd"] = 6.24, ["tropa"] = 121, ["kilos"] = 50, ["unidades"] = 4 },
            new Dictionary<string, object?> { ["orden"] = 2, ["codTipoProd"] = 6.9,  ["tropa"] = 121, ["kilos"] = 50, ["unidades"] = 0 }
        }
    }
};
```

{% endtab %}

{% tab title="Java" %}

```java
// Obtenemos el TA
GetServiceTAResponse ta = ws.getTokenAuthorization();

// Preparamos los datos
Map<String, Object> authRequest = new HashMap<>();
authRequest.put("token", ta.getToken());
authRequest.put("sign", ta.getSign());
authRequest.put("cuitRepresentada", afip.getOptions().getCuit());

Map<String, Object> vehiculo = new HashMap<>();
vehiculo.put("dominioVehiculo", "ARF458");

Map<String, Object> viaje = new HashMap<>();
viaje.put("cuitTransportista", 33333333333L);
viaje.put("cuitConductor", 44444444444L);
viaje.put("fechaInicioViaje", "2019-02-14");
viaje.put("distanciaKm", 670);
viaje.put("vehiculo", vehiculo);

Map<String, Object> merc1 = new HashMap<>();
merc1.put("orden", 1); merc1.put("codTipoProd", 6.24); merc1.put("tropa", 121); merc1.put("kilos", 50); merc1.put("unidades", 4);

Map<String, Object> merc2 = new HashMap<>();
merc2.put("orden", 2); merc2.put("codTipoProd", 6.9); merc2.put("tropa", 121); merc2.put("kilos", 50); merc2.put("unidades", 0);

Map<String, Object> remito = new HashMap<>();
remito.put("tipoComprobante", 995);
remito.put("tipoMovimiento", "ENV");
remito.put("categoriaEmisor", 1);
remito.put("puntoEmision", 9000);
remito.put("cuitTitularMercaderia", 11111111111L);
remito.put("tipoReceptor", "MI");
remito.put("categoriaReceptor", 3);
remito.put("cuitReceptor", 22222222222L);
remito.put("codDomDestino", 3);
remito.put("viaje", viaje);
remito.put("arrayMercaderias", Arrays.asList(merc1, merc2));

Map<String, Object> data = new HashMap<>();
data.put("authRequest", authRequest);
data.put("idReq", 410);
data.put("remito", remito);
```

{% endtab %}

{% tab title="API" %}
No se requiere ninguna acción adicional.
{% endtab %}
{% endtabs %}

### **Paso 3 - Ejecutamos la solicitud**

{% tabs %}
{% tab title="Node" %}

```js
const res = await ws.executeRequest('generarRemito', data);

console.log(res);
```

{% endtab %}

{% tab title="PHP" %}

```php
$res = $ws->ExecuteRequest('generarRemito', $data);

var_dump($res);
```

{% endtab %}

{% tab title="Ruby" %}

```
res = ws.executeRequest("generarRemito", data)

puts res
```

{% endtab %}

{% tab title="Python" %}

```python
res = ws.executeRequest("generarRemito", data)

print(res)
```

{% endtab %}

{% tab title=".NET" %}

```csharp
var res = await ws.ExecuteRequestAsync<Dictionary<string, object?>>("generarRemito", data);

Console.WriteLine(JsonSerializer.Serialize(res));
```

{% endtab %}

{% tab title="Java" %}

```java
Map<String, Object> res = ws.executeRequest("generarRemito", data);

System.out.println(res);
```

{% endtab %}

{% tab title="API" %}
**Endpoint**

<mark style="color:blue;">`POST`</mark> `https://app.afipsdk.com/api/v1/afip/requests`

**Ejemplo**

```json
{
    "environment": "dev",
    "method": "generarRemito",
    "wsid": "wsremcarne",
    "params": {
        "authRequest": {
            "token": "{{token}}",
            "sign": "{{sign}}",
            "cuitRepresentada": "20409378472"
        },
        "idReq": 410,
        "remito": {
            "tipoComprobante": 995,
            "tipoMovimiento": "ENV",
            "categoriaEmisor": 1,
            "puntoEmision": 9000,
            "cuitTitularMercaderia": 11111111111,
            "tipoReceptor": "MI",
            "categoriaReceptor": 3,
            "cuitReceptor": 22222222222,
            "codDomDestino": 3,
            "viaje": {
                "cuitTransportista": 33333333333,
                "cuitConductor": 44444444444,
                "fechaInicioViaje": "2019-02-14",
                "distanciaKm": 670,
                "vehiculo": {
                    "dominioVehiculo": "ARF458"
                }
            },
            "arrayMercaderias": [
                {
                    "orden": 1,
                    "codTipoProd": 6.24,
                    "tropa": 121,
                    "kilos": 50,
                    "unidades": 4
                },
                {
                    "orden": 2,
                    "codTipoProd": 6.9,
                    "tropa": 121,
                    "kilos": 50,
                    "unidades": 0
                }
            ]
        }
    }
}
```

{% endtab %}
{% endtabs %}
