CoolFace
Datasetpublic

GSaha567/seq_level_training_data

sourceHugging Faceupdated 8mo agoView on Hugging Face
0likes52downloads
shard_000051.csv85023 linesDownload Raw Back to root
1text,length,is_long_context,metric_val,label_metric2"[[export-cypher]]3== Export to Cypher Script4 5[abstract]6--7This section describes procedures that can be used to export data in Cypher format.8--9 10The export to Cypher procedures export data as Cypher statements that can then be used to import the data into another Neo4j instance.11 12 13[NOTE]14====15When exporting nodes, if a node label does not contain a unique constraint the exporter will add a `UNIQUE IMPORT LABEL` label and `UNIQUE IMPORT ID` property to those nodes to ensure uniqueness of nodes when the export script is executed on a new database.16The final step of the export script removes the `UNIQUE IMPORT LABEL` label and  `UNIQUE IMPORT ID`, so they won't exist in the new database once the script has finished executing.17 18If a node label does have a unique constraint, the property on which the unique constraint is defined will be used to ensure uniqueness.19====20 21This section includes:22 23* <<export-cypher-available-procedures, Available Procedures>>24* <<export-cypher-config, Configuration parameters>>25* <<export-cypher-file-export, Exporting to a file>>26* <<export-cypher-stream-export, Exporting a stream>>27* <<export-cypher-examples, Examples>>28    ** <<export-cypher-cypher-shell, Export to Cypher Shell format>>29    ** <<export-cypher-neo4j-browser, Export to Neo4j Browser friendly format>>30    ** <<export-cypher-multiple-files, Export to multiple files or columns>>31    ** <<export-cypher-different-cypher-format, Export using different Cypher update formats>>32    ** <<export-cypher-examples-roundtrip, Round trip>>33 34 35//    ** <<export-cypher-whole-database, Export whole database>>36//    ** <<export-cypher-nodes-relationships, Export specified nodes and relationships>>37//    ** <<export-cypher-graph, Export virtual graph>>38//    ** <<export-cypher-cypher-query, Export results of Cypher query>>39//    ** <<export-cypher-schema, Export database schema>>40//    ** <<export-cypher-examples-roundtrip, Roundtrip Example>>41 42[[export-cypher-available-procedures]]43=== Available Procedures44 45The table below describes the available procedures:46 47// tag::export.cypher[]48[separator=¦,opts=header,cols=""1,1m,1m,5""]49|===50include::../../../build/generated-documentation/apoc.export.cypher.csv[]51|===52// end::export.cypher[]53 54[NOTE]55The labels exported are ordered alphabetically.56The output of `labels()` function is not sorted, use it in combination with `apoc.coll.sort()`.57 58[[export-cypher-config]]59=== Configuration parameters60The procedures support the following config parameters:61 62.Config parameters63[opts=header]64|===65| name | type | default | description66| format | String | cypher-shell a| Export format. The following values are supported:67 68* `cypher-shell` - for import with Cypher Shell69* `neo4j-shell` - for import with Neo4j Shell and partly the `apoc.cypher.runFile` procedure70* `plain` - exports plain Cypher without `begin`, `commit`, or `await` commands. For import with Neo4j Browser71 72| cypherFormat | String | create a| Cypher update operation type. The following values are supported:73 74* `create` - only uses the `CREATE` clause75* `updateAll` - uses `MERGE` instead of `CREATE`76* `addStructure` - uses `MATCH` for nodes and `MERGE` for relationships77* `updateStructure` - uses `MERGE` and `MATCH` for nodes and relationships78| separateFiles | boolean | false | Export to separate files? This is useful for later use with the `apoc.cypher.runFiles` and `apoc.cypher.runSchemaFiles` procedures.79| useOptimizations | Map a| `{type: ""UNWIND_BATCH"", unwindBatchSize: 20}` a| Optimizations to use for Cypher statement generation. `type` supports the following values:80 81* `NONE` - exports the file with `CREATE` statement82* `UNWIND_BATCH` - exports the file by batching the entities with the `UNWIND` method as explained in Michael Hunger's article on https://medium.com/neo4j/5-tips-tricks-for-fast-batched-updates-of-graph-structures-with-neo4j-and-cypher-73c7f693c8cc[fast batched writes^].83* `UNWIND_BATCH_PARAMS` - similar to `UNWIND_BATCH`, but also uses parameters where appropriate84| awaitForIndexes | Long | 300 | Timeout to use for `db.awaitIndexes` when using `format: ""cypher-shell""`85|===86 87[[export-cypher-file-export]]88=== Exporting to a file89 90include::enableFileExport.adoc[]91 92[[export-cypher-stream-export]]93=== Exporting a stream94 95If we don't want to export to a file, we can stream results back by providing a file name of `null`.96 97By default all Cypher statements will be returned in a single row in the `cypherStatements` column.98 99.The following exports the whole database as a single row100[source,cypher]101----102CALL apoc.export.cypher.all(null);103----104 105If we're exporting a large database, we can batch these statements across multiple rows by providing the `streamStatements:true` config and configuring the `batchSize` config.106 107.The following exports the whole database across multiple rows based on batch size108[source,cypher]109----110CALL apoc.export.cypher.all(null, {111    streamStatements: true,112    batchSize: 100113});114----115 116[[export-cypher-examples]]117=== Examples118 119This section includes examples showing how to use the export to Cypher procedures.120These examples are based on a movies dataset, which can be imported by running the following Cypher query:121 122[source,cypher]123----124CREATE (TheMatrix:Movie {title:'The Matrix', released:1999, tagline:'Welcome to the Real World'})125CREATE (Keanu:Person {name:'Keanu Reeves', born:1964})126CREATE (Carrie:Person {name:'Carrie-Anne Moss', born:1967})127CREATE (Laurence:Person {name:'Laurence Fishburne', born:1961})128CREATE (Hugo:Person {name:'Hugo Weaving', born:1960})129CREATE (LillyW:Person {name:'Lilly Wachowski', born:1967})130CREATE (LanaW:Person {name:'Lana Wachowski', born:1965})131CREATE (JoelS:Person {name:'Joel Silver', born:1952})132CREATE133(Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrix),134(Carrie)-[:ACTED_IN {roles:['Trinity']}]->(TheMatrix),135(Laurence)-[:ACTED_IN {roles:['Morpheus']}]->(TheMatrix),136(Hugo)-[:ACTED_IN {roles:['Agent Smith']}]->(TheMatrix),137(LillyW)-[:DIRECTED]->(TheMatrix),138(LanaW)-[:DIRECTED]->(TheMatrix),139(JoelS)-[:PRODUCED]->(TheMatrix);140----141 142The Neo4j Browser visualization below shows the imported graph:143 144image::play-movies.png[title=""Movies Graph Visualization""]145 146[[export-cypher-cypher-shell]]147==== Export to Cypher Shell format148 149By default, the Cypher statements generated by the export to Cypher procedures are in the Cypher Shell format.150 151 152.The following query exports the whole database to `all.cypher` in the default `cypher-shell` format using the default `UNWIND_BATCH` optimization153[source,cypher]154----155// default config populated for illustration156CALL apoc.export.cypher.all(""all.cypher"", {157    format: ""cypher-shell"",158    useOptimizations: {type: ""UNWIND_BATCH"", unwindBatchSize: 20}159})160YIELD file, batches, source, format, nodes, relationships, properties, time, rows, batchSize161RETURN file, batches, source, format, nodes, relationships, properties, time, rows, batchSize;162----163 164.Results165[opts=""header""]166|===167| file         | batches | source                        | format   | nodes | relationships | properties | time | rows | batchSize168| ""all.cypher"" | 1       | ""database: nodes(8), rels(7)"" | ""cypher"" | 8     | 7             | 21         | 10   | 15   | 20000169|===170 171The contents of `all.cypher`, with extra lines added for readability, are shown below:172 173.all.cypher174[source,cypher]175----176:begin177CREATE CONSTRAINT ON (node:`UNIQUE IMPORT LABEL`) ASSERT (node.`UNIQUE IMPORT ID`) IS UNIQUE;178:commit179 180:begin181UNWIND [{_id:0, properties:{tagline:""Welcome to the Real World"", title:""The Matrix"", released:1999}}] AS row182CREATE (n:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row._id}) SET n += row.properties SET n:Movie;183 184UNWIND [{_id:1, properties:{born:1964, name:""Keanu Reeves""}}, {_id:2, properties:{born:1967, name:""Carrie-Anne Moss""}}, {_id:3, properties:{born:1961, name:""Laurence Fishburne""}}, {_id:4, properties:{born:1960, name:""Hugo Weaving""}}, {_id:5, properties:{born:1967, name:""Lilly Wachowski""}}, {_id:6, properties:{born:1965, name:""Lana Wachowski""}}, {_id:7, properties:{born:1952, name:""Joel Silver""}}] AS row185CREATE (n:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row._id}) SET n += row.properties SET n:Person;186:commit187 188:begin189UNWIND [{start: {_id:1}, end: {_id:0}, properties:{roles:[""Neo""]}}, {start: {_id:2}, end: {_id:0}, properties:{roles:[""Trinity""]}}, {start: {_id:3}, end: {_id:0}, properties:{roles:[""Morpheus""]}}, {start: {_id:4}, end: {_id:0}, properties:{roles:[""Agent Smith""]}}] AS row190MATCH (start:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.start._id})191MATCH (end:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.end._id})192CREATE (start)-[r:ACTED_IN]->(end) SET r += row.properties;193 194UNWIND [{start: {_id:7}, end: {_id:0}, properties:{}}] AS row195MATCH (start:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.start._id})196MATCH (end:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.end._id})197CREATE (start)-[r:PRODUCED]->(end) SET r += row.properties;198 199UNWIND [{start: {_id:5}, end: {_id:0}, properties:{}}, {start: {_id:6}, end: {_id:0}, properties:{}}] AS row200MATCH (start:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.start._id})201MATCH (end:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.end._id})202CREATE (start)-[r:DIRECTED]->(end) SET r += row.properties;203:commit204 205:begin206MATCH (n:`UNIQUE IMPORT LABEL`)  WITH n LIMIT 20000 REMOVE n:`UNIQUE IMPORT LABEL` REMOVE n.`UNIQUE IMPORT ID`;207:commit208 209:begin210DROP CONSTRAINT ON (node:`UNIQUE IMPORT LABEL`) ASSERT (node.`UNIQUE IMPORT ID`) IS UNIQUE;211:commit212----213 214This Cypher script executes 5 transactions, each surrounded by `:begin` and `:commit` commands.215The transactions do the following:216 217. Create a unique constraint on the `UNIQUE IMPORT LABEL` label and `UNIQUE IMPORT ID` property218. Import the `Person` and `Movie` nodes219. Create `ACTED_IN`, `PRODUCED`, and `DIRECTED` relationships between these nodes220. Remove the `UNIQUE IMPORT LABEL` label and `UNIQUE IMPORT ID` property from the nodes221. Drop the unique constraint on the `UNIQUE IMPORT LABEL` label and `UNIQUE IMPORT ID` property222 223This script can be executed using the https://neo4j.com/docs/operations-manual/current/tools/cypher-shell/[Cypher Shell^] command line tool.224 225For example, we could import the contents of `all.cypher` into a https://neo4j.com/aura[Neo4j Aura^] database by running the following command:226 227[source,bash]228----229cat all.cypher | ./bin/cypher-shell -a <bolt-url> -u neo4j -p <password> --format verbose230----231 232[NOTE]233====234Don't forget to replace <bolt-url> and <password> with the appropriate credentials.235====236 237If we run this command against an empty database, we'll see the following output:238 239[source,text]240----2410 rows available after 70 ms, consumed after another 0 ms242Added 1 constraints2430 rows available after 16 ms, consumed after another 0 ms244Added 2 nodes, Set 8 properties, Added 4 labels2450 rows available after 40 ms, consumed after another 0 ms246Added 14 nodes, Set 42 properties, Added 28 labels2470 rows available after 51 ms, consumed after another 0 ms248Created 8 relationships, Set 8 properties2490 rows available after 38 ms, consumed after another 0 ms250Created 2 relationships2510 rows available after 38 ms, consumed after another 0 ms252Created 4 relationships2530 rows available after 20 ms, consumed after another 0 ms254Set 16 properties, Removed 16 labels2550 rows available after 3 ms, consumed after another 0 ms256Removed 1 constraints257----258 259.Troubleshooting260[NOTE]261====262If you are experimenting with imports that are failing you can add the `--debug` command line parameter, to see which statement was executed last and caused the failure.263 264Also check the memory configuration of your Neo4j instance, you might want to increase the HEAP size to *2–4GB* using the `dbms.memory.heap.max_size=2G` setting in `neo4j.conf`.265 266We can also provide more memory to cypher-shell itself by prefixing the command with: `JAVA_OPTS=-Xmx4G bin/cypher-shell …`267====268 269 270If we don't have file system access, or don't want to write to a file for another reason, we can stream back the export statements.271 272.The following query streams back the whole database in the `cypherStatements` column273[source,cypher]274----275CALL apoc.export.cypher.all(null, {276    batchSize: 5,277    streamStatements: true,278    format: ""cypher-shell"",279    useOptimizations: {type: ""UNWIND_BATCH"", unwindBatchSize: 5}280})281YIELD nodes, relationships, properties, cypherStatements282RETURN nodes, relationships, properties, cypherStatements;283----284 285.Results286[opts=""header""]287|===288| nodes | relationships | properties | cypherStatements289| 16    | 0             | 34         a| "":begin290  CREATE CONSTRAINT ON (node:`UNIQUE IMPORT LABEL`) ASSERT (node.`UNIQUE IMPORT ID`) IS UNIQUE;291  :commit292  :begin293  UNWIND [{_id:0, properties:{tagline:\\""Welcome to the Real World\\"", title:\\""The Matrix\\"", released:1999}}, {_id:1, properties:{tagline:\\""Welcome to the Real World\\"", title:\\""The Matrix\\"", released:1999}}] AS row294  CREATE (n:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row._id}) SET n += row.properties SET n:Movie;295  UNWIND [{_id:35, properties:{born:1967, name:\\""Carrie-Anne Moss\\""}}, {_id:36, properties:{born:1961, name:\\""Laurence Fishburne\\""}}, {_id:37, properties:{born:1965, name:\\""Lana Wachowski\\""}}] AS row296  CREATE (n:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row._id}) SET n += row.properties SET n:Person;297  :commit298  :begin299  UNWIND [{_id:38, properties:{born:1964, name:\\""Keanu Reeves\\""}}, {_id:39, properties:{born:1952, name:\\""Joel Silver\\""}}, {_id:40, properties:{born:1960, name:\\""Hugo Weaving\\""}}, {_id:41, properties:{born:1967, name:\\""Lilly Wachowski\\""}}, {_id:42, properties:{born:1967, name:\\""Carrie-Anne Moss\\""}}] AS row300  CREATE (n:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row._id}) SET n += row.properties SET n:Person;301  :commit302  :begin303  UNWIND [{_id:43, properties:{born:1965, name:\\""Lana Wachowski\\""}}, {_id:50, properties:{born:1960, name:\\""Hugo Weaving\\""}}, {_id:51, properties:{born:1964, name:\\""Keanu Reeves\\""}}, {_id:57, properties:{born:1967, name:\\""Lilly Wachowski\\""}}, {_id:58, properties:{born:1961, name:\\""Laurence Fishburne\\""}}] AS row304  CREATE (n:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row._id}) SET n += row.properties SET n:Person;305  :commit306  :begin307  UNWIND [{_id:59, properties:{born:1952, name:\\""Joel Silver\\""}}] AS row308  CREATE (n:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row._id}) SET n += row.properties SET n:Person;309  :commit310  ""311| 16    | 14            | 42         a| "":begin312UNWIND [{start: {_id:35}, end: {_id:0}, properties:{roles:[\\""Trinity\\""]}}, {start: {_id:36}, end: {_id:0}, properties:{roles:[\\""Morpheus\\""]}}, {start: {_id:50}, end: {_id:1}, properties:{roles:[\\""Agent Smith\\""]}}, {start: {_id:40}, end: {_id:0}, properties:{roles:[\\""Agent Smith\\""]}}, {start: {_id:51}, end: {_id:1}, properties:{roles:[\\""Neo\\""]}}] AS row313MATCH (start:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.start._id})314MATCH (end:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.end._id})315CREATE (start)-[r:ACTED_IN]->(end) SET r += row.properties;316:commit317:begin318UNWIND [{start: {_id:42}, end: {_id:1}, properties:{roles:[\\""Trinity\\""]}}, {start: {_id:38}, end: {_id:0}, properties:{roles:[\\""Neo\\""]}}, {start: {_id:58}, end: {_id:1}, properties:{roles:[\\""Morpheus\\""]}}] AS row319MATCH (start:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.start._id})320MATCH (end:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.end._id})321CREATE (start)-[r:ACTED_IN]->(end) SET r += row.properties;322UNWIND [{start: {_id:59}, end: {_id:1}, properties:{}}, {start: {_id:39}, end: {_id:0}, properties:{}}] AS row323MATCH (start:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.start._id})324MATCH (end:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.end._id})325CREATE (start)-[r:PRODUCED]->(end) SET r += row.properties;326:commit327:begin328UNWIND [{start: {_id:37}, end: {_id:0}, properties:{}}, {start: {_id:57}, end: {_id:0}, properties:{}}, {start: {_id:43}, end: {_id:1}, properties:{}}, {start: {_id:41}, end: {_id:1}, properties:{}}] AS row329MATCH (start:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.start._id})330MATCH (end:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.end._id})331CREATE (start)-[r:DIRECTED]->(end) SET r += row.properties;332:commit333""334| 16    | 14            | 42         a| "":begin335MATCH (n:`UNIQUE IMPORT LABEL`)  WITH n LIMIT 5 REMOVE n:`UNIQUE IMPORT LABEL` REMOVE n.`UNIQUE IMPORT ID`;336:commit337:begin338MATCH (n:`UNIQUE IMPORT LABEL`)  WITH n LIMIT 5 REMOVE n:`UNIQUE IMPORT LABEL` REMOVE n.`UNIQUE IMPORT ID`;339:commit340:begin341MATCH (n:`UNIQUE IMPORT LABEL`)  WITH n LIMIT 5 REMOVE n:`UNIQUE IMPORT LABEL` REMOVE n.`UNIQUE IMPORT ID`;342:commit343:begin344MATCH (n:`UNIQUE IMPORT LABEL`)  WITH n LIMIT 5 REMOVE n:`UNIQUE IMPORT LABEL` REMOVE n.`UNIQUE IMPORT ID`;345:commit346:begin347DROP CONSTRAINT ON (node:`UNIQUE IMPORT LABEL`) ASSERT (node.`UNIQUE IMPORT ID`) IS UNIQUE;348:commit349""350|===351 352We can then copy/paste the content of the `cypherStatements` column (excluding the double quotes) into a Cypher Shell session, or into a local file that we stream into a Cypher Shell session.353 354 355[[export-cypher-neo4j-browser]]356==== Export to Neo4j Browser friendly format357 358The export to Cypher procedures support the config `format: ""plain""`, which is useful for later import using the https://neo4j.com/developer/neo4j-browser/[Neo4j Browser^].359 360.The following query exports the whole database to `all-plain.cypher`361[source,cypher]362----363CALL apoc.export.cypher.all(""all-plain.cypher"", {364    format: ""plain"",365    useOptimizations: {type: ""UNWIND_BATCH"", unwindBatchSize: 20}366})367YIELD file, batches, source, format, nodes, relationships, properties, time, rows, batchSize368RETURN file, batches, source, format, nodes, relationships, properties, time, rows, batchSize;369----370 371.Results372[opts=""header""]373|===374| file         | batches | source                        | format   | nodes | relationships | properties | time | rows | batchSize375| ""all-plain.cypher"" | 1       | ""database: nodes(8), rels(7)"" | ""cypher"" | 8     | 7             | 21         | 9    | 15   | 20000376|===377 378The contents of `all-plain.cypher`, with extra lines added for readability, are shown below:379 380.all-plain.cypher381[source,cypher]382----383CREATE CONSTRAINT ON (node:`UNIQUE IMPORT LABEL`) ASSERT (node.`UNIQUE IMPORT ID`) IS UNIQUE;384 385UNWIND [{_id:0, properties:{tagline:""Welcome to the Real World"", title:""The Matrix"", released:1999}}] AS row386CREATE (n:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row._id}) SET n += row.properties SET n:Movie;387 388UNWIND [{_id:1, properties:{born:1964, name:""Keanu Reeves""}}, {_id:2, properties:{born:1967, name:""Carrie-Anne Moss""}}, {_id:3, properties:{born:1961, name:""Laurence Fishburne""}}, {_id:4, properties:{born:1960, name:""Hugo Weaving""}}, {_id:5, properties:{born:1967, name:""Lilly Wachowski""}}, {_id:6, properties:{born:1965, name:""Lana Wachowski""}}, {_id:7, properties:{born:1952, name:""Joel Silver""}}] AS row389CREATE (n:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row._id}) SET n += row.properties SET n:Person;390 391UNWIND [{start: {_id:1}, end: {_id:0}, properties:{roles:[""Neo""]}}, {start: {_id:2}, end: {_id:0}, properties:{roles:[""Trinity""]}}, {start: {_id:3}, end: {_id:0}, properties:{roles:[""Morpheus""]}}, {start: {_id:4}, end: {_id:0}, properties:{roles:[""Agent Smith""]}}] AS row392MATCH (start:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.start._id})393MATCH (end:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.end._id})394CREATE (start)-[r:ACTED_IN]->(end) SET r += row.properties;395 396UNWIND [{start: {_id:7}, end: {_id:0}, properties:{}}] AS row397MATCH (start:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.start._id})398MATCH (end:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.end._id})399CREATE (start)-[r:PRODUCED]->(end) SET r += row.properties;400 401UNWIND [{start: {_id:5}, end: {_id:0}, properties:{}}, {start: {_id:6}, end: {_id:0}, properties:{}}] AS row402MATCH (start:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.start._id})403MATCH (end:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.end._id})404CREATE (start)-[r:DIRECTED]->(end) SET r += row.properties;405 406MATCH (n:`UNIQUE IMPORT LABEL`)  WITH n LIMIT 20000 REMOVE n:`UNIQUE IMPORT LABEL` REMOVE n.`UNIQUE IMPORT ID`;407 408DROP CONSTRAINT ON (node:`UNIQUE IMPORT LABEL`) ASSERT (node.`UNIQUE IMPORT ID`) IS UNIQUE;409----410 411We can then take the `all-plain.cypher` file and drag it onto the Neo4j Browser window.412We should then see the following prompt:413 414image::export-cypher-plain-drag.png[title=""Neo4j Browser prompt when we drag a file onto it""]415 416And if we click `Paste in editor`, the contents of the file will appear in the query editor:417 418image::export-cypher-plain-editor.png[title=""Neo4j Browser query editor with the contents of `all-plain.cypher`"", width=""800px""]419 420We can then press the play button next in the editor and the data will be imported.421 422[[export-cypher-different-cypher-format]]423==== Export using different Cypher update formats424 425The export to Cypher procedures generate Cypher statements using the `CREATE`, `MATCH` and `MERGE` clauses.426The format is configured by the `cypherFormat` parameter.427The following values are supported:428 429* `create` - only uses the `CREATE` clause (default)430* `updateAll` - uses `MERGE` instead of `CREATE`431* `addStructure` - uses `MATCH` for nodes and `MERGE` for relationships432* `updateStructure` - uses `MERGE` and `MATCH` for nodes and relationships433 434If we're exporting a database for the first time we should use the default `create` format, but for subsequent exports the other formats may be more suitable.435 436.The following exports the `ACTED_IN` relationships and surrounding nodes to `export-cypher-format-create.cypher` using the `create` format437[source,cypher]438----439MATCH (person)-[r:ACTED_IN]->(movie)440WITH collect(DISTINCT person) + collect(DISTINCT  movie) AS importNodes, collect(r) AS importRels441CALL apoc.export.cypher.data(importNodes, importRels,442  ""export-cypher-format-create.cypher"",443  { format: ""plain"", cypherFormat: ""create"" })444YIELD file, batches, source, format, nodes, relationships, properties, time, rows, batchSize445RETURN file, batches, source, format, nodes, relationships, properties, time, rows, batchSize;446----447 448.Results449[opts=""header""]450|===451| file                                 | batches | source                         | format   | nodes | relationships | properties | time | rows | batchSize452| ""export-cypher-format-create.cypher"" | 1       | ""data: nodes(5), rels(4)"" | ""cypher"" | 5     | 4             | 15         | 2    | 9    | 20000453|===454 455.export-cypher-format-create.cypher456[source,cypher]457----458CREATE CONSTRAINT ON (node:`UNIQUE IMPORT LABEL`) ASSERT (node.`UNIQUE IMPORT ID`) IS UNIQUE;459UNWIND [{_id:0, properties:{tagline:""Welcome to the Real World"", title:""The Matrix"", released:1999}}] AS row460CREATE (n:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row._id}) SET n += row.properties SET n:Movie;461 462UNWIND [{_id:7, properties:{born:1967, name:""Carrie-Anne Moss""}},463        {_id:80, properties:{born:1960, name:""Hugo Weaving""}},464        {_id:27, properties:{born:1964, name:""Keanu Reeves""}},465        {_id:44, properties:{born:1961, name:""Laurence Fishburne""}}] AS row466CREATE (n:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row._id}) SET n += row.properties SET n:Person;467 468UNWIND [{start: {_id:27}, end: {_id:0}, properties:{roles:[""Neo""]}},469        {start: {_id:7}, end: {_id:0}, properties:{roles:[""Trinity""]}},470        {start: {_id:44}, end: {_id:0}, properties:{roles:[""Morpheus""]}},471        {start: {_id:80}, end: {_id:0}, properties:{roles:[""Agent Smith""]}}] AS row472MATCH (start:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.start._id})473MATCH (end:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.end._id})474CREATE (start)-[r:ACTED_IN]->(end) SET r += row.properties;475 476MATCH (n:`UNIQUE IMPORT LABEL`)  WITH n LIMIT 20000 REMOVE n:`UNIQUE IMPORT LABEL` REMOVE n.`UNIQUE IMPORT ID`;477DROP CONSTRAINT ON (node:`UNIQUE IMPORT LABEL`) ASSERT (node.`UNIQUE IMPORT ID`) IS UNIQUE;478----479 480The creation of all graph entities uses the Cypher `CREATE` clause.481If those entities may already exist in the destination database, we may choose to use another format.482Using `cypherFormat: ""updateAll""` means that the `MERGE` clause will be used instead of `CREATE` when creating entities.483 484.The following exports the `ACTED_IN` relationships and surrounding nodes to `export-cypher-format-create.cypher` using the `updateAll` format485[source,cypher]486----487MATCH (person)-[r:ACTED_IN]->(movie)488WITH collect(DISTINCT person) + collect(DISTINCT  movie) AS importNodes, collect(r) AS importRels489CALL apoc.export.cypher.data(importNodes, importRels,490  ""export-cypher-format-updateAll.cypher"",491  { format: ""plain"", cypherFormat: ""updateAll"" })492YIELD file, batches, source, format, nodes, relationships, properties, time, rows, batchSize493RETURN file, batches, source, format, nodes, relationships, properties, time, rows, batchSize;494----495 496.Results497[opts=""header""]498|===499| file                                 | batches | source                         | format   | nodes | relationships | properties | time | rows | batchSize500| ""export-cypher-format-updateAll.cypher"" | 1       | ""data: nodes(5), rels(4)"" | ""cypher"" | 5     | 4             | 15         | 8    | 9    | 20000501|===502 503 504.export-cypher-format-updateAll.cypher505[source,cypher]506----507CREATE CONSTRAINT ON (node:`UNIQUE IMPORT LABEL`) ASSERT (node.`UNIQUE IMPORT ID`) IS UNIQUE;508UNWIND [{_id:0, properties:{tagline:""Welcome to the Real World"", title:""The Matrix"", released:1999}}] AS row509MERGE (n:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row._id}) SET n += row.properties SET n:Movie;510 511UNWIND [{_id:80, properties:{born:1960, name:""Hugo Weaving""}},512        {_id:7, properties:{born:1967, name:""Carrie-Anne Moss""}},513        {_id:44, properties:{born:1961, name:""Laurence Fishburne""}},514        {_id:27, properties:{born:1964, name:""Keanu Reeves""}}] AS row515MERGE (n:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row._id}) SET n += row.properties SET n:Person;516 517UNWIND [{start: {_id:27}, end: {_id:0}, properties:{roles:[""Neo""]}},518        {start: {_id:7}, end: {_id:0}, properties:{roles:[""Trinity""]}},519        {start: {_id:44}, end: {_id:0}, properties:{roles:[""Morpheus""]}},520        {start: {_id:80}, end: {_id:0}, properties:{roles:[""Agent Smith""]}}] AS row521MATCH (start:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.start._id})522MATCH (end:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.end._id})523MERGE (start)-[r:ACTED_IN]->(end) SET r += row.properties;524 525MATCH (n:`UNIQUE IMPORT LABEL`)  WITH n LIMIT 20000 REMOVE n:`UNIQUE IMPORT LABEL` REMOVE n.`UNIQUE IMPORT ID`;526DROP CONSTRAINT ON (node:`UNIQUE IMPORT LABEL`) ASSERT (node.`UNIQUE IMPORT ID`) IS UNIQUE;527----528 529If we already have the nodes in our destination database, we can use `cypherFormat: ""addStructure""` to create Cypher `CREATE` statements for just the relationships.530 531.The following exports the `ACTED_IN` relationships and surrounding nodes to `export-cypher-format-addStructure.cypher` using the `addStructure` format532[source,cypher]533----534MATCH (person)-[r:ACTED_IN]->(movie)535WITH collect(DISTINCT person) + collect(DISTINCT  movie) AS importNodes, collect(r) AS importRels536CALL apoc.export.cypher.data(importNodes, importRels,537  ""export-cypher-format-addStructure.cypher"",538  { format: ""plain"", cypherFormat: ""addStructure"" })539YIELD file, batches, source, format, nodes, relationships, properties, time, rows, batchSize540RETURN file, batches, source, format, nodes, relationships, properties, time, rows, batchSize;541----542 543.Results544[opts=""header""]545|===546| file                                 | batches | source                         | format   | nodes | relationships | properties | time | rows | batchSize547| ""export-cypher-format-addStructure.cypher"" | 1       | ""data: nodes(5), rels(4)"" | ""cypher"" | 5     | 4             | 15         | 4    | 9    | 20000548|===549 550.export-cypher-format-addStructure.cypher551[source,cypher]552----553UNWIND [{_id:0, properties:{tagline:""Welcome to the Real World"", title:""The Matrix"", released:1999}}] AS row554MERGE (n:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row._id}) ON CREATE SET n += row.properties SET n:Movie;555 556UNWIND [{_id:7, properties:{born:1967, name:""Carrie-Anne Moss""}},557        {_id:27, properties:{born:1964, name:""Keanu Reeves""}},558        {_id:80, properties:{born:1960, name:""Hugo Weaving""}},559        {_id:44, properties:{born:1961, name:""Laurence Fishburne""}}] AS row560MERGE (n:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row._id}) ON CREATE SET n += row.properties SET n:Person;561 562UNWIND [{start: {_id:27}, end: {_id:0}, properties:{roles:[""Neo""]}},563        {start: {_id:7}, end: {_id:0}, properties:{roles:[""Trinity""]}},564        {start: {_id:44}, end: {_id:0}, properties:{roles:[""Morpheus""]}},565        {start: {_id:80}, end: {_id:0}, properties:{roles:[""Agent Smith""]}}] AS row566MATCH (start:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.start._id})567MATCH (end:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.end._id})568CREATE (start)-[r:ACTED_IN]->(end)  SET r += row.properties;569----570 571In this example we're using the `MERGE` clause to create a node if it doesn't already exist, and are only creating properties if the node doesn't already exist.572In this example, relationships don't exist in the destination database and need to be created.573 574If those relationships do exist but have properties that need to be updated, we can use `cypherFormat: ""updateStructure""` to create our import script.575 576.The following exports the `ACTED_IN` relationships and surrounding nodes to `export-cypher-format-updateStructure.cypher` using the `updateStructure` format577[source,cypher]578----579MATCH (person)-[r:ACTED_IN]->(movie)580WITH collect(DISTINCT person) + collect(DISTINCT  movie) AS importNodes, collect(r) AS importRels581CALL apoc.export.cypher.data(importNodes, importRels,582  ""export-cypher-format-updateStructure.cypher"",583  { format: ""plain"", cypherFormat: ""updateStructure"" })584YIELD file, batches, source, format, nodes, relationships, properties, time, rows, batchSize585RETURN file, batches, source, format, nodes, relationships, properties, time, rows, batchSize;586----587 588.Results589[opts=""header""]590|===591| file                                 | batches | source                         | format   | nodes | relationships | properties | time | rows | batchSize592| ""export-cypher-format-updateStructure.cypher"" | 1       | ""data: nodes(5), rels(4)"" | ""cypher"" | 0     | 4             | 4          | 2    | 4    | 20000593|===594 595.export-cypher-format-updateStructure.cypher596[source,cypher]597----598UNWIND [{start: {_id:27}, end: {_id:0}, properties:{roles:[""Neo""]}},599        {start: {_id:7}, end: {_id:0}, properties:{roles:[""Trinity""]}},600        {start: {_id:44}, end: {_id:0}, properties:{roles:[""Morpheus""]}},601        {start: {_id:80}, end: {_id:0}, properties:{roles:[""Agent Smith""]}}] AS row602MATCH (start:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.start._id})603MATCH (end:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.end._id})604MERGE (start)-[r:ACTED_IN]->(end) SET r += row.properties;605 606----607 608 609[[export-cypher-multiple-files]]610==== Export to multiple files or columns611 612The export to Cypher procedures all support writing to multiple files or multiple columns.613We can enable this mode by passing in the config `separateFiles: true`614 615.The following query exports all the `ACTED_IN` relationships and corresponding nodes into files with an `actedIn` prefix616[source,cypher]617----618CALL apoc.export.cypher.query(619  ""MATCH ()-[r:ACTED_IN]->()620   RETURN *"",621  ""actedIn.cypher"",622  { format: ""cypher-shell"", separateFiles: true })623YIELD file, batches, source, format, nodes, relationships, time, rows, batchSize624RETURN file, batches, source, format, nodes, relationships, time, rows, batchSize;625----626 627.Results628[opts=""header""]629|===630| file | batches | source                          | format   | nodes | relationships | time | rows | batchSize631| ""actedIn.cypher"" | 1       | ""statement: nodes(10), rels(8)"" | ""cypher"" | 10    | 8             | 3    | 18   | 20000632|===633 634This will result in the following files being created:635 636.Results637[opts=""header""]638|===639| Name | Size in bytes | Number of lines640| actedIn.cleanup.cypher | 234 | 6641| actedIn.nodes.cypher | 893 | 6642| actedIn.relationships.cypher | 757 | 6643| actedIn.schema.cypher | 109 | 3644|===645 646Each of those files contains one particular part of the graph.647Let's have a look at their content:648 649.actedIn.cleanup.cypher650[source,cypher]651----652:begin653MATCH (n:`UNIQUE IMPORT LABEL`)  WITH n LIMIT 20000 REMOVE n:`UNIQUE IMPORT LABEL` REMOVE n.`UNIQUE IMPORT ID`;654:commit655:begin656DROP CONSTRAINT ON (node:`UNIQUE IMPORT LABEL`) ASSERT (node.`UNIQUE IMPORT ID`) IS UNIQUE;657:commit658----659 660.actedIn.nodes.cypher661[source,cypher]662----663:begin664UNWIND [{_id:28, properties:{tagline:""Welcome to the Real World"", title:""The Matrix"", released:1999}}, {_id:37, properties:{tagline:""Welcome to the Real World"", title:""The Matrix"", released:1999}}] AS row665CREATE (n:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row._id}) SET n += row.properties SET n:Movie;666UNWIND [{_id:31, properties:{born:1961, name:""Laurence Fishburne""}}, {_id:30, properties:{born:1967, name:""Carrie-Anne Moss""}}, {_id:42, properties:{born:1964, name:""Keanu Reeves""}}, {_id:0, properties:{born:1960, name:""Hugo Weaving""}}, {_id:29, properties:{born:1964, name:""Keanu Reeves""}}, {_id:38, properties:{born:1960, name:""Hugo Weaving""}}, {_id:43, properties:{born:1967, name:""Carrie-Anne Moss""}}, {_id:57, properties:{born:1961, name:""Laurence Fishburne""}}] AS row667CREATE (n:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row._id}) SET n += row.properties SET n:Person;668:commit669----670 671.actedIn.relationships.cypher672[source,cypher]673----674:begin675UNWIND [{start: {_id:31}, end: {_id:28}, properties:{roles:[""Morpheus""]}}, {start: {_id:42}, end: {_id:37}, properties:{roles:[""Neo""]}}, {start: {_id:38}, end: {_id:37}, properties:{roles:[""Agent Smith""]}}, {start: {_id:0}, end: {_id:28}, properties:{roles:[""Agent Smith""]}}, {start: {_id:29}, end: {_id:28}, properties:{roles:[""Neo""]}}, {start: {_id:43}, end: {_id:37}, properties:{roles:[""Trinity""]}}, {start: {_id:30}, end: {_id:28}, properties:{roles:[""Trinity""]}}, {start: {_id:57}, end: {_id:37}, properties:{roles:[""Morpheus""]}}] AS row676MATCH (start:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.start._id})677MATCH (end:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.end._id})678CREATE (start)-[r:ACTED_IN]->(end) SET r += row.properties;679:commit680----681 682.actedIn.schema.cypher683[source,cypher]684----685:begin686CREATE CONSTRAINT ON (node:`UNIQUE IMPORT LABEL`) ASSERT (node.`UNIQUE IMPORT ID`) IS UNIQUE;687:commit688----689 690We can then apply these files to our destination Neo4j instance, either by streaming their contents into Cypher Shell or by using the procedures described in <<running-cypher>>691 692We can also use the `separateFiles` when returning a stream of export statements.693The results will appear in columns named `nodeStatements`, `relationshipStatements`, `cleanupStatements`, and `schemaStatements` rather than `cypherStatements`.694 695 696.The following query returns a stream all the `ACTED_IN` relationships and corresponding nodes697[source,cypher]698----699CALL apoc.export.cypher.query(700  ""MATCH ()-[r:ACTED_IN]->()701   RETURN *"",702  null,703  { format: ""cypher-shell"", separateFiles: true })704YIELD nodes, relationships, properties, nodeStatements, relationshipStatements, cleanupStatements, schemaStatements705RETURN nodes, relationships, properties, nodeStatements, relationshipStatements, cleanupStatements, schemaStatements;706----707 708.Results709[opts=""header""]710|===711| nodes | relationships | properties | nodeStatements | relationshipStatements | cleanupStatements | schemaStatements712| 10    | 8             | 30         | "":begin713  UNWIND [{_id:28, properties:{tagline:\\""Welcome to the Real World\\"", title:\\""The Matrix\\"", released:1999}}, {_id:37, properties:{tagline:\\""Welcome to the Real World\\"", title:\\""The Matrix\\"", released:1999}}] AS row714  CREATE (n:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row._id}) SET n += row.properties SET n:Movie;715  UNWIND [{_id:0, properties:{born:1960, name:\\""Hugo Weaving\\""}}, {_id:42, properties:{born:1964, name:\\""Keanu Reeves\\""}}, {_id:31, properties:{born:1961, name:\\""Laurence Fishburne\\""}}, {_id:29, properties:{born:1964, name:\\""Keanu Reeves\\""}}, {_id:30, properties:{born:1967, name:\\""Carrie-Anne Moss\\""}}, {_id:43, properties:{born:1967, name:\\""Carrie-Anne Moss\\""}}, {_id:38, properties:{born:1960, name:\\""Hugo Weaving\\""}}, {_id:57, properties:{born:1961, name:\\""Laurence Fishburne\\""}}] AS row716  CREATE (n:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row._id}) SET n += row.properties SET n:Person;717  :commit718  "" | "":begin719  UNWIND [{start: {_id:31}, end: {_id:28}, properties:{roles:[\\""Morpheus\\""]}}, {start: {_id:38}, end: {_id:37}, properties:{roles:[\\""Agent Smith\\""]}}, {start: {_id:0}, end: {_id:28}, properties:{roles:[\\""Agent Smith\\""]}}, {start: {_id:30}, end: {_id:28}, properties:{roles:[\\""Trinity\\""]}}, {start: {_id:29}, end: {_id:28}, properties:{roles:[\\""Neo\\""]}}, {start: {_id:43}, end: {_id:37}, properties:{roles:[\\""Trinity\\""]}}, {start: {_id:42}, end: {_id:37}, properties:{roles:[\\""Neo\\""]}}, {start: {_id:57}, end: {_id:37}, properties:{roles:[\\""Morpheus\\""]}}] AS row720  MATCH (start:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.start._id})721  MATCH (end:`UNIQUE IMPORT LABEL`{`UNIQUE IMPORT ID`: row.end._id})722  CREATE (start)-[r:ACTED_IN]->(end) SET r += row.properties;723  :commit724  "" | "":begin725  MATCH (n:`UNIQUE IMPORT LABEL`)  WITH n LIMIT 20000 REMOVE n:`UNIQUE IMPORT LABEL` REMOVE n.`UNIQUE IMPORT ID`;726  :commit727  :begin728  DROP CONSTRAINT ON (node:`UNIQUE IMPORT LABEL`) ASSERT (node.`UNIQUE IMPORT ID`) IS UNIQUE;729  :commit730  "" | "":begin731  CREATE CONSTRAINT ON (node:`UNIQUE IMPORT LABEL`) ASSERT (node.`UNIQUE IMPORT ID`) IS UNIQUE;732  :commit733  ""734|===735 736We can then copy/paste the content of each of these columns (excluding the double quotes) into a Cypher Shell session, or into a local file that we stream into a Cypher Shell session.737If we want to export Cypher statements that can be pasted into the Neo4j Browser query editor, we need to use the config `format: ""plain""`, as described in <<export-cypher-neo4j-browser>>.738 739[[export-cypher-examples-roundtrip]]740==== Round trip741 742This example shows how to export data from one Neo4j instance (the source database) and import it into another one (the destination database).743 744 745.The following exports 100 nodes and relationships from the source database in `plain` format into multiple files746[source,cypher]747----748CALL apoc.export.cypher.query(749    ""match (n)-[r]->(n2) return * limit 100"",750    ""/tmp/mysubset.cypher"",751    {format:'plain',separateFiles:true}752)753YIELD file, batches, source, format, nodes, relationships, time, rows, batchSize754RETURN file, batches, source, format, nodes, relationships, time, rows, batchSize;755----756 757.Results758[opts=""header""]759|===760| file                   | batches | source                           | format   | nodes | relationships | time | rows | batchSize761|  ""/tmp/mysubset.cypher"" | 1       | ""statement: nodes(16), rels(14)"" | ""cypher"" | 16    | 14            | 9    | 30   | 20000762|===763 764 765This should result in 4 files in your directory.766 767[source,shell]768----769ls -1 /tmp/mysubset.*770/tmp/mysubset.cleanup.cypher771/tmp/mysubset.nodes.cypher772/tmp/mysubset.relationships.cypher773/tmp/mysubset.schema.cypher774----775 776Now let's copy those files so they're accessible from our destination database.777We'll need to first add the following property to `neo4j.conf`:778 779.neo4j.conf780[source,properties]781----782apoc.import.file.enabled=true783----784 785And now we're going to use procedures from <<running-cypher>> to import the data.786 787.The following imports the schema788[source,cypher]789----790CALL apoc.cypher.runSchemaFile('/tmp/mysubset.schema.cypher');791----792 793.Results794[opts=""header""]795|===796| row | result797|  -1  | {constraintsRemoved: 0, indexesRemoved: 0, nodesCreated: 0, rows: 0, propertiesSet: 0, labelsRemoved: 0, relationshipsDeleted: 0, constraintsAdded: 0, nodesDeleted: 0, indexesAdded: 0, labelsAdded: 0, r798   elationshipsCreated: 0, time: 0}799|===800 801.The following imports the nodes and relationships802[source,cypher]803----804CALL apoc.cypher.runFiles(['/tmp/mysubset.nodes.cypher','/tmp/mysubset.relationships.cypher']);805----806 807.Results808[opts=""header""]809|===810| row | result811| -1  | {constraintsRemoved: 0, indexesRemoved: 0, nodesCreated: 2, rows: 0, propertiesSet: 8, labelsRemoved: 0, relationshipsDeleted: 0, constraintsAdded: 0, nodesDeleted: 0, indexesAdded: 0, labelsAdded: 4, r812elationshipsCreated: 0, time: 0}813| -1  | {constraintsRemoved: 0, indexesRemoved: 0, nodesCreated: 14, rows: 0, propertiesSet: 42, labelsRemoved: 0, relationshipsDeleted: 0, constraintsAdded: 0, nodesDeleted: 0, indexesAdded: 0, labelsAdded: 28814, relationshipsCreated: 0, time: 0}815| -1  | {constraintsRemoved: 0, indexesRemoved: 0, nodesCreated: 0, rows: 0, propertiesSet: 8, labelsRemoved: 0, relationshipsDeleted: 0, constraintsAdded: 0, nodesDeleted: 0, indexesAdded: 0, labelsAdded: 0, r816elationshipsCreated: 8, time: 0}817| -1  | {constraintsRemoved: 0, indexesRemoved: 0, nodesCreated: 0, rows: 0, propertiesSet: 0, labelsRemoved: 0, relationshipsDeleted: 0, constraintsAdded: 0, nodesDeleted: 0, indexesAdded: 0, labelsAdded: 0, r818elationshipsCreated: 2, time: 0}819| -1  | {constraintsRemoved: 0, indexesRemoved: 0, nodesCreated: 0, rows: 0, propertiesSet: 0, labelsRemoved: 0, relationshipsDeleted: 0, constraintsAdded: 0, nodesDeleted: 0, indexesAdded: 0, labelsAdded: 0, r820elationshipsCreated: 4, time: 0}821|===822 823.The following removes temporary node labels and properties824[source,cypher]825----826CALL apoc.cypher.runFile('/tmp/mysubset.cleanup.cypher');827----828 829.Results830[opts=""header""]831|===832| row | result833|  -1  | {constraintsRemoved: 0, indexesRemoved: 0, nodesCreated: 0, rows: 0, propertiesSet: 16, labelsRemoved: 16, relationshipsDeleted: 0, constraintsAdded: 0, nodesDeleted: 0, indexesAdded: 0, labelsAdded: 0,834    relationshipsCreated: 0, time: 0}835|===836 837.The following drops the import specific constraint838[source,cypher]839----840CALL apoc.cypher.runSchemaFile('/tmp/mysubset.cleanup.cypher');841----842 843.Results844[opts=""header""]845|===846| row | result847|  -1  | {constraintsRemoved: 1, indexesRemoved: 0, nodesCreated: 0, rows: 0, propertiesSet: 0, labelsRemoved: 0, relationshipsDeleted: 0, constraintsAdded: 0, nodesDeleted: 0, indexesAdded: 0, labelsAdded: 0, r848   elationshipsCreated: 0, time: 0}849|===850 851 852The `apoc.cypher.run*` procedures have some optional config:853 854* `{statistics:true/false}` to output a row of update-stats per statement, default is true855* `{timeout:1 or 10}` for how long the stream waits for new data, default is 10856 857Make sure to set the config options in your `neo4j.conf`858 859 860",12528,True,2908.6385106571443,median861"= Zahlungen verwalten862:lang: de863:description: Payments in plentymarkets: Erfahre alles über das Bearbeiten von Zahlungen.864:position: 25865:url: payment/beta-zahlungen-verwalten866:id: VBZTVJ8867:keywords: Zahlung, Zahlungen, Zahlungsverkehr, Zahlungseingang, Zahlungseingänge, Payment, automatische Zuordnung, Zahlungszuordnung, Properties, Zahlungsdaten, Auftragszuordnung, Zahlung zuordnen, Zahlungsübersicht, Zahlungsinformationen, Zahlung aufteilen, Zahlung teilen, Teilzahlung868:author: team-order-payment869 870Diese Seite beschreibt das Verwalten von Zahlungen. Zahlungen erreichen dein System aus verschiedenen Quellen. Verwalte die Zahlungen im Menü *Aufträge » Zahlungsverkehr*.871 872[#grundeinstellungen]873== Grundeinstellungen für Zahlungseingänge vornehmen874 875In diesem Menü nimmst du Einstellungen für die automatische Zuordnung von Zahlungen zu Aufträgen sowie zur Zahlungskulanz vor. Es sind bereits Standardeinstellungen im System hinterlegt, die aus Erfahrungswerten gewonnen wurden und sich in der Praxis bewährt haben. Um diese Einstellungen zu ändern, gehe wie im Folgenden beschrieben vor.876 877[.instruction]878Grundeinstellungen ändern:879 880. Öffne das Menü *Einrichtung » Aufträge » Zahlung » Eingänge*.881. Nimm die Einstellungen gemäß der Erläuterungen in <<tabelle-grundeinstellungen-zahlungseingang>> vor.882. *Speichere* (icon:save[role=""green""]) die Einstellungen.883 884[[tabelle-grundeinstellungen-zahlungseingang]]885.Grundeinstellungen für Zahlungseingänge vornehmen886[cols=""1,3""]887|====888|Einstellung |Erläuterung889 890| *Übereinstimmung für automatische Zuordnung*891|Zwischen *0.7* (nicht so genaue Übereinstimmung zur Zuordnung nötig) und *1.0* (genaue Übereinstimmung nötig) wählen. Ist dieser Wert höher eingestellt, kann das Problem auftreten, dass Zahlungen nicht zugeordnet werden können. Daher ist in der *Standard-Einstellung* ein Wert von *0,75* eingestellt.892 893| *Zahlungskulanz*894|Damit z.B. interne Nachkommabeträge (ab der dritten Nachkommastelle) nicht zu falschen Buchungen führen, sollte ein *Mindestbetrag* von *0,01* eingetragen sein (Standard-Einstellung). Wenn z.B. *0,05* eingestellt ist, werden Fehlbeträge bis 5 Cent trotzdem als korrekte Buchung behandelt.895 896| [#intable-import-customer-bank-data]*Kundenbankdaten importieren*897|Wählen, ob die *Bankdaten* des Kunden beim Zahlungseingang *importiert* und in den jeweiligen *Kundendaten* hinterlegt werden sollen oder nicht. +898*_Wichtig:_* Da Bankdaten nur mit Zustimmung des Kunden importiert und gespeichert werden dürfen, ist hier standardmäßig *Nein* voreingestellt. Vor dem Aktivieren die Rechtslage zu diesem Thema beachten, ggf. auch im jeweiligen Lieferland.899 900| *PayPal Zahlung nur entsprechendem eBay Listing zuordnen, sofern an der Zahlung hinterlegt*901|_Hinweis_: Diese Funktionalität bezieht sich ausschließlich auf die alte PayPal-Schnittstelle für plentymarkets Callisto-Shops und *nicht* auf das PayPal-Plugin! +902Falls du ebay Listings in Kombination mit der Zahlungsart PayPal verwendest, empfehlen wir, bei dieser Option *JA* auszuwählen. So wird sichergestellt, dass entsprechende PayPal-Zahlungen den dazugehörigen Aufträgen von eBay korrekt zugeordnet werden. Sollte an einer PayPal Zahlung eine eBay Listing-ID hinterlegt sein, so wird bei aktivierter Option diese Zahlung nur dem Auftrag zugeordnet, der über eine übereinstimmende eBay Listing-ID verfügt.903 904| *WooCommerce PayPal Zahlung ignorieren*905|_Hinweis_: Diese Funktionalität bezieht sich ausschließlich auf die alte PayPal-Schnittstelle für plentymarkets Callisto-Shops und *nicht* auf das PayPal-Plugin! +906Wähle die Option *JA*, um bei Aufträgen mit der Zahlungsart PayPal, die über WooCommerce importiert werden, den automatischen Zahlungsimport zu deaktivieren.907 908|*Aufträge mit folgenden Zahlungsarten von der automatischen Zuordnung ausschließen*909|Wähle hier Zahlungsarten aus, für die keine Zahlungen ins System eingehen. Diese werden dann bei der automatischen Zahlungszuordnung nicht beachtet. +910Eine Mehrfachauswahl ist über die Tastatur möglich.911 912|*Aufträge mit folgenden Herkünften von der automatischen Zuordnung ausschließen*913|Wähle hier Herkünfte aus, für die keine Zahlungen ins System eingehen. Diese werden dann bei der automatischen Zahlungszuordnung nicht beachtet. +914Eine Mehrfachauswahl ist über die Tastatur möglich.915 916|====917 918[#10]919== Neue Zahlungen im System920 921Zahlungen gehen entweder automatisch im System ein oder werden manuell eingebucht. Nach dem Eingang in plentymarkets werden die Zahlungen Aufträgen über eine unscharfe Suche automatisch zugeordnet. Wenn die Zuordnung fehlschlägt, können Zahlungen Aufträgen manuell zugeordnet werden. Verwalte und bearbeite Zahlungen im Menü *Aufträge » Zahlungsverkehr*. Unzugeordnete Zahlungen erkennst du am Kreditkartensymbol (icon:credit_card[set=material]). Du kannst Zahlungen Aufträgen direkt in der Übersicht oder in der Detailansicht der <<payment/beta-zahlungen-verwalten#30, Zahlung zuordnen>>. +922In der Übersicht werden dir Zahlungen in deiner gewählten <<payment/waehrungen#30, Systemwährung>> angezeigt. Wurde die Zahlung in einer Fremdwährung getätigt, wird dir dieser Betrag hinter der Systemwährung in Klammern ebenfalls angezeigt.923 924[TIP]925.Ereignisaktionen für Zahlungseingänge einrichten926====927Der Zahlungseingang als Ereignis spielt in der Auftragsbearbeitung eine wichtige Rolle, da der Versand häufig erst nach Zahlungseingang erfolgt. In plentymarkets wechselt der Status der meisten Aufträge mit dem Eintreffen der Zahlung von *Status [3] - Warten auf Zahlung* in *Status [5] - Freigabe Versand*. Richte <<automatisierung/ereignisaktionen#, Ereignisaktionen>> ein, um die Auftragsbearbeitung zu automatisieren und den Versand nach Zahlungseingang auszulösen.928====929 930[#bankbuchungsimport]931=== Bankbuchungen importieren932 933Zahlungsvorgänge bei der Zahlungsart Vorkasse und sonstigen Überweisungen fallen in Form von Bankbuchungen an. Bei diesen Zahlungsarten müssen die auf deinem Konto gebuchten Zahlungen an das System gemeldet und den Aufträgen korrekt zugeordnet werden. Nutze den Import-Typ <<daten/daten-importieren/sync-typen/elasticSync-bankbuchungen#, Bankbuchung>>, um deine Bankbuchungen in dein plentymarkets System zu importieren. Nach dem Import werden die Bankbuchungen wie andere Zahlungen auch automatisch Aufträgen zugeordnet und können wie gewohnt im Menü *Aufträge » Zahlungsverkehr* bearbeitet werden.934 935[#20]936=== Zahlungen suchen937 938Zahlungen suchst du in der Übersichtsansicht im Menü *Aufträge » Zahlungsverkehr*. Diese Tabelle ist anpassbar. Das bedeutet, dass du selbst entscheiden kannst, welche Informationen dir in den Tabellenspalten angezeigt werden. Gehe dafür folgendermaßen vor:939 940[.instruction]941Tabelle individualisieren:942 943. Klicke auf *Spalten konfigurieren* (icon:settings[set=material]). +944→ Das Fenster *Spalten konfigurieren* öffnet sich.945. Wähle aus, welche Spalten angezeigt werden sollen.946. Verschiebe (icon:sort[set=material]) die Spalten, so dass sie in der Reihenfolge angezeigt werden, in der du sie brauchst.947. Klicke auf *Bestätigen*, um deine Auswahl zu speichern.948 949Für die Suche kannst du verschiedene Filter setzen und sie kombinieren, um beispielsweise nach unzugeordneten Zahlungen der letzten Woche zu suchen.950 951Du hast mehrere Möglichkeiten, die Suche zu nutzen. Du kannst einen Wert im Suchfeld eingeben und dann den entsprechenden Filter auswählen. Gibst du z.B. eine Zahl ein, werden dir mögliche Filter in der diese Zahl vorkommt vorgeschlagen, wie IDs oder Variantennummer. Gib den Wert vollständig ein und wähle den passenden Filter aus den Vorschlägen. Wiederhole dies, um Filter miteinander zu kombinieren. Klicke auf icon:search[set=material], um die Suche auszuführen. +952Möchtest du aus der verfügbaren Filterliste wählen, klicke auf die Liste und gib einen Wert im gewünschten Filter ein. Hast du alle benötigten Filter gesetzt, klicke auf *Suchen*. +953Möchtest du einen gesetzten Filter löschen, entferne den Chip. In <<tabelle-zahlungen-suchen>> werden die verfügbaren Filter erläutert.954 955Zudem kannst du mit der Komponente *Gespeicherte Filter* (icon:bookmarks[set=material]) ausgewählte Filter in der UI speichern. Gespeicherte Filtersets sind dann in dieser Komponente bei jedem Öffnen des Menüs auswählbar, ähnlich wie Lesezeichen. Jede:r Benutzer:in kann eigene Filter festlegen.956 957[.instruction]958Filter speichern:959 960. Setze die gewünschten Filter mit den entsprechenden Werten.961. Führe die Suche aus.962. Klicke auf *Gespeicherte Filter* (icon:bookmarks[set=material]).963. Klicke auf *Aktuellen Filter speichern*. +964→ Das Fenster *Filter speichern* öffnet sich.965. Vergib einen *Filternamen*.966. Entscheide, ob das Filterset für alle Benutzer:innen zur Verfügung stehen soll.967. Klicke auf *Speichern*.968 969[[tabelle-zahlungen-suchen]]970.Zahlungen suchen971[cols=""1,3""]972|====973| Einstellung | Erläuterung974 975|*Auftrags-ID*976|Suche anhand von Auftrags-IDs nach Aufträgen, denen eine Zahlung zugeordnet ist.977 978|*Transaktions-ID*979|Die Transaktions-ID wird vom Zahlungsanbieter vergeben, damit sich die Zahlung dem Anbieter zuordnen lässt. Gib eine Transaktions-ID ein, um nach einer Zahlung mit dieser Transaktions-ID zu suchen.980 981|*Transaktionscode*982|Der Transaktionscode beschreibt die Transaktion selbst. Gib einen Transaktionscode ein, um nach einer Zahlung mit diesem Code zu suchen.983 984|*Referenz-ID*985|Eine Referenz-ID verknüpft Zahlungen, z.B. eine Zahlung und eine Erstattung, miteinander. Gib eine Referenz-ID ein, um nach einer Zahlung mit dieser Referenz-ID zu suchen.986 987|*Zahlungs-ID*988|Gib eine Zahlungs-ID ein, um nach der Zahlung mit dieser ID zu suchen.989 990|*Zahlungsart*991|Gib eine bestimmte Zahlungsart ein, um nach Zahlungen zu suchen, die mit dieser Zahlungsart getätigt wurden.992 993|*Verwendungszweck*994|Gib entweder den ganzen Verwendungszweck oder einen Teil des Verwendungszwecks ein, um nach Zahlungen mit diesem Zweck zu suchen.995 996|*Absender der Zahlung*997|Gib den Namen der Person ein, die die Zahlung getätigt hat, um nach Zahlungen von dieser Person zu suchen.998 999|*H/S*1000|Wähle zwischen *H* (Haben) oder *S* (Soll). +1001*Haben* = Alle Zahlungseingänge mit positivem Wert werden angezeigt. +1002*Soll* = Alle Zahlungseingänge mit negativem Wert werden angezeigt.1003 1004|*Wert*1005|Wähle einen Operator und gib eine Summe ein. +1006*_Beispiel_*: Wähle *Größer als oder gleich* und gib 300 als *Wert* ein, um alle Zahlungen mit einem Zahlungsbetrag von 300 oder mehr anzuzeigen.1007 1008|*Zuordnung*1009|Du kannst zwischen *Zugeordnet* oder *Unzugeordnet* wählen. +1010*Zugeordnet* = Zeigt dir nur Zahlungen, die bereits einem Auftrag zugeordnet wurden. +1011*Unzugeordnet* = Zeigt dir nur Zahlungen, die keinem Auftrag zugeordnet wurden.1012 1013|*Status*1014|Wähle einen Status aus, um nach Zahlungen mit diesem Status zu suchen.1015 1016|*Transaktionstyp*1017|Wähle einen Transaktionstyp aus, um nach Zahlungen mit diesem Transaktionstyp zu suchen.1018 1019|*Währung*1020|Wähle eine Währung aus, um nach Zahlungen in dieser Währung zu suchen.1021 1022|*Datumstyp*1023|Wähle aus, nach welchem Datumstyp in Verbindung mit der Datumsauswahl darunter gesucht werden soll. Du kannst wählen zwischen *Importdatum*, *Eingangsdatum* und *Zuordnungsdatum*. Angezeigt werden dann alle Zahlungen, die in dem gewählten Zeitraum entsprechend importiert wurden, eingegangen sind oder zugeordnet wurden.1024 1025|*von und bis*1026|Wähle in Verbindung mit *Datumstyp* einen Zeitraum aus, um nach Zahlungen zu suchen, die in diesem Zeitraum importiert wurden, eingegangen sind oder zugeordnet wurden, je nach Auswahl.1027 1028|*Zurücksetzen*1029|Auf *Zurücksetzen* klicken, um alle Filter zurückzusetzen. Erneut auf *Suchen* klicken, um alle Zahlungseingänge anzuzeigen.1030 1031|*Suchen*1032|Führt die Suche aus.1033 1034|====1035 1036[#payments-myview]1037== MyView nutzen1038 1039Die Benutzeroberfläche der Detailansichten von Zahlungen sowie der Ansicht zum Teilen einer Zahlung werden dir als MyView zur Verfügung gestellt. Das bedeutet, dass Benutzer:innen sich jeweils eine eigene Ansicht mit den zur Verfügung stehenden Elementen erstellen können. Dadurch kann jede:r selbst bestimmen, welche Informationen an welcher Stelle benötigt werden. Durch diese Individualisierung wird das Arbeiten nicht nur komfortabler, sondern auch beschleunigt. In diesem Kapitel wird erklärt, wie man mit MyView umgeht und sich eine eigene Ansicht anlegt. Die Bearbeitung von Zahlungen, z.B. das <<payment/beta-zahlungen-verwalten#30, Zuordnen>>, das <<payment/beta-zahlungen-verwalten#40, Lösen>> oder auch das <<payment/beta-zahlungen-verwalten#50, Teilen>> von Zahlungen, wird in den nachfolgenden Kapiteln erklärt.1040 1041Zur Detailansicht einer Zahlung kommst du von der Übersichtstabelle aller Zahlungen im Menü *Aufträge » Zahlungsverkehr* aus. Klicke in die entsprechende Zeile oder auf die Zahlungs-ID und die Detailansicht der ausgewählten Zahlung öffnet sich. +1042Zur Ansicht zum Teilen von Zahlungen kommst du, indem du in der Übersichtstabelle in der Zeile der Zahlung auf *Zahlung teilen* (icon:call_split[set=material]) klickst. +1043Wenn du in diesen Bereichen noch keine eigene Ansicht erstellt hast, wird dir hier die *Standardansicht* angezeigt. Du kannst diese Ansicht so lassen und damit arbeiten oder dir eine eigene Ansicht erstellen. Eigene Ansichten werden gespeichert und stehen dir dann zusammen mit der Standardansicht als Auswahl unter der Liste der Ansichten (icon:caret-down[role=""darkGrey""]) zur Verfügung. Somit kannst du zwischen den Ansichten wechseln, solltest du dies wollen. Die ausgewählte Ansicht wird beim Öffnen einer Zahlung immer angewendet.1044 1045[#create-new-view]1046=== Neue Ansicht erstellen1047 1048. Klicke auf die Liste der Ansichten (icon:caret-down[role=""darkGrey""]).1049. Klicke auf icon:plus[role=""darkGrey""] *Neue Ansicht erstellen ...*.1050. Gib einen Namen ein.1051. Klicke auf *Ansicht erstellen*. +1052→ Die neue Ansicht wird erstellt und automatisch geöffnet, d.h. sie wird angewendet.1053Es ist jetzt möglich, zwischen den Ansichten zu wechseln.1054 1055[#create-grid]1056=== Ein Raster erstellen1057 1058. Klicke auf *Ansicht bearbeiten* (icon:design_inline_edit[set=plenty]).1059. Füge Zeilen und Spalten hinzu, um ein Raster zu erstellen.1060.. Klicke auf icon:ellipsis-v[role=""blue""] und dann auf icon:plus[role=""darkGrey""] *Zeile hinzufügen*.1061.. Klicke auf *Spalte hinzufügen* (icon:plus[role=""darkGrey""]).1062.. Ziehe die Spalten, um sie größer oder kleiner zu machen.1063 1064[#place-elements]1065=== Elemente platzieren1066 1067. Füge Elemente per Drag & Drop hinzu.1068. Klicke auf icon:pencil[role=""blue""] und passe die Einstellungen für das Element an.1069.. Ändere den Namen.1070.. Entscheide, welche Datenfelder das Element enthalten soll.1071.. Lege die Reihenfolge der Datenfelder per Drag & Drop fest.1072. Klicke auf icon:close[role=""blue""]1073 1074[cols=""1,4a""]1075|====1076|Symbol |Erläuterung1077 1078| icon:pencil[role=""blue""]1079|Führt eine Ebene tiefer.1080 1081| icon:trash[role=""blue""]1082|Löscht das Element.1083 1084| icon:close[role=""blue""]1085|Führt eine Ebene höher.1086|====1087 1088[TIP]1089.Kann ich Elemente mehrfach hinzufügen?1090======1091Die Zahl im grauen Kreis gibt an, wie oft du das Element verwenden kannst. Die meisten Elemente können nur einmal hinzugefügt werden.1092======1093 1094[#finalise-editing]1095=== Bearbeitung abschließen1096 1097. Speichere die Ansicht (icon:save[set=plenty, role=""darkGrey""]) und schließe den Bearbeitungsmodus (icon:close[role=""darkGrey""]).1098. Prüfe das Ergebnis im Hauptfenster.1099. Falls erforderlich:1100.. Klicke nochmal auf *Ansicht bearbeiten* (icon:design_inline_edit[set=plenty]) und passe die Ansicht weiter an.1101.. Erlaube anderen Benutzern, die Ansicht zu sehen.1102 1103[#editing-functions]1104==== Funktionen im Bearbeitungsmodus1105 1106[cols=""1,4""]1107|====1108|Symbol |Erläuterung1109 1110| icon:reply[role=darkGrey]1111|Macht die letzte Änderung rückgängig, soweit die betreffende Änderung noch nicht gespeichert wurde.1112 1113| icon:share[role=darkGrey]1114|Stellt eine rückgängig gemachte Änderung wieder her.1115 1116| icon:caret-down[role=""darkGrey""]1117|Eine Liste der Ansichten.1118Der Name der aktuell geöffneten Ansicht wird angezeigt.1119Klicke auf icon:caret-down[role=""darkGrey""], um zu einer anderen Ansicht zu wechseln oder eine <<payment/beta-zahlungen-verwalten#create-new-view, neue Ansicht>> zu erstellen.1120 1121| icon:items_incoming_history[set=plenty]1122|Setzt die Ansicht auf den Stand zurück, der beim letzten Speichern vorhanden war.1123 1124| icon:save[set=plenty, role=""darkGrey""]1125|Speichert die Änderungen, die an der Ansicht vorgenommenen wurden.1126 1127| icon:close[set=plenty]1128|Schließt den Bearbeitungsmodus.1129Falls nicht gespeicherte Änderungen vorhanden sind, wird eine Sicherheitsabfrage angezeigt.1130|====1131 1132[#900]1133==== Rechtevergabe1134 1135Welche Benutzer oder Rollen sollen die Ansicht sehen dürfen?1136Du kannst den Zugriff auf jede Ansicht einzeln gewähren bzw. einschränken.1137 1138[.tabs]1139====1140Benutzer::1141+1142--1143 1144. Klicke auf *Ansicht bearbeiten* (icon:design_inline_edit[set=plenty]).1145. Klicke auf icon:open_external_link[set=plenty] *Rechteverwaltung*.1146. Wähle *Benutzer*, um den Zugang für einen bestimmten Benutzer zu gewähren. +1147→ Das Menü *Einrichtung » Einstellungen » Benutzer » Rechte » Benutzer* öffnet sich in einem neuen Tab.1148. Suche (icon:search[role=blue]) und öffne das betreffende Benutzerkonto.1149. Klicke auf *Ansichten*.1150. Erweitere die Listeneinträge (icon:chevron-right[role=""darkGrey""]) und wähle die Ansichten (icon:check-square[role=""blue""]), auf die der Benutzer Zugriff haben soll.1151. Speichere (icon:save[set=plenty, role=""darkGrey""]) die Einstellungen.1152 1153<<business-entscheidungen/benutzerkonten-zugaenge#112, Weitere Informationen>> zu Benutzerkonten und Zugriffsrechten.1154 1155--1156Rollen::1157+1158--1159 1160. Klicke auf *Ansicht bearbeiten* (icon:design_inline_edit[set=plenty]).1161. Klicke auf icon:open_external_link[set=plenty] *Rechteverwaltung*.1162. Wähle *Rollen*, um den Zugang für eine ganze Benutzerrolle zu gewähren. +1163→ Das Menü *Einrichtung » Einstellungen » Benutzer » Rechte » Rollen* öffnet sich in einem neuen Tab.1164. Suche (icon:search[role=blue]) und öffne die betreffende Benutzerrolle.1165. Klicke auf *Ansichten*.1166. Erweitere die Listeneinträge (icon:chevron-right[role=""darkGrey""]) und wähle die Ansichten (icon:check-square[role=""blue""]), auf die die Benutzerrolle Zugriff haben soll.1167. Speichere (icon:save[set=plenty, role=""darkGrey""]) die Einstellungen.1168 1169<<business-entscheidungen/benutzerkonten-zugaenge#116, Weitere Informationen>> zu Benutzerkonten und Zugriffsrechten.1170 1171--1172====1173 1174[#30]1175== Zahlungen zuordnen1176 1177Es gibt zwei Möglichkeiten, um unzugeordnete Zahlungen einem Auftrag zuzuordnen. Im Menü *Aufträge » Zahlungsverkehr* kannst du Zahlungen entweder direkt in der Übersicht zuordnen oder du gehst in die Detailansicht einer Zahlung.1178Eine Zuordnung in der Übersicht funktioniert über die direkte Eingabe der Auftrags-ID. Dies ist ein einfacher und schneller Weg, wenn du schon weißt, welchem Auftrag die Zahlung zugeordnet werden soll, sonst keine weiteren Informationen zur Zahlung benötigst und die Auftrags-ID zur Hand hast.1179Gehe wie im Folgenden beschrieben vor, um eine Zahlung in der Übersicht zuzuordnen.1180 1181[.instruction]1182Zahlung direkt anhand der Auftrags-ID in der Übersicht zuordnen:1183 1184. Öffne das Menü *Aufträge » Zahlungsverkehr*.1185. <<payment/beta-zahlungen-verwalten#20, Suche>> (icon:search[set=material]) die gewünschte Zahlung.1186. Gib in der Zeile der unzugeordneten Zahlung im Feld *Auftrags-ID* direkt die entsprechende ID des Auftrages, dem die Zahlung zugeordnet werden soll, ein.1187. Drücke die *Entertaste* zum Speichern. +1188→ Die Zahlung ist zugeordnet und die Übersicht wird aktualisiert.1189 1190Wenn eine schnelle Zuordnung in der Übersicht nicht möglich ist oder du detailliertere Informationen zu einer Zahlung brauchst, gehe in die Detailansicht einer Zahlung. Klicke dafür in der Übersicht auf die Zeile der entsprechenden Zahlung oder direkt auf die Zahlungs-ID. Wenn du in der Übersichtstabelle auf die Aktion *Zahlung zuordnen* (icon:credit_card[set=material]) klickst, wird ebenfalls die Detailansicht der Zahlung geöffnet.1191Um eine Zahlung aus der Detailansicht heraus zuzuordnen, gehe wie im Folgenden beschrieben vor.1192 1193[.instruction]1194Zahlung in Detailansicht zuordnen:1195 1196. Öffne das Menü *Aufträge » Zahlungsverkehr*.1197. <<payment/beta-zahlungen-verwalten#20, Suche>> (icon:search[set=material]) die gewünschte Zahlung.1198. Öffne die Zahlung, indem du entweder in der Zeile der unzugeordneten Zahlung, die du zuordnen möchtest, auf die Payment-ID oder auf auf *Zahlung zuordnen* (icon:credit_card[set=material]) klickst. +1199→ Du wirst weitergeleitet zum Bereich *Zuordnung* dieser Zahlung. +1200→ Die Aufträge mit der höchsten Übereinstimmung werden dort angezeigt.

Showing the first 1,200 of 85023 lines. Download the file for the rest.